Tag: azure webjobs

如何将异步函数写入服务总线队列?

使用Azure WebJobs SDK,我想创建一个异步函数,它将接收ServiceBus队列输入并写入ServiceBus队列输出。 异步方法不能有参数,例如,BlobStorage上的示例似乎是通过使用Streams和TextWrite来解决的。 但是,当我尝试使用ServiceBus参数执行相同操作时,我收到exception。 public static async void Transform( [ServiceBusTrigger(“%InputQueue%”)] String input, [ServiceBus(“%OutputQueue%”)] TextWriter output, TextWriter log) 错误索引方法’FilterCurrentCpesToNewCpes’ 无法绑定ServiceBus以键入“System.IO.TextWriter”。 我收到了类似Stream的消息。

具有计时器触发和Blob触发的连续Web作业

我在使用azure jobs sdk及其扩展的同一Web作业控制台应用程序中具有以下function。 定时触发器查询文件的API端点,对其执行一些额外的工作,然后将文件保存到名为blahinput的blob中。 现在第二个方法“ProcessBlobMessage”应该在blahinput中识别新的blob文件,并用它做一些事情。 public static void ProcessBlobMessage([BlobTrigger(“blahinput/{name}”)] TextReader input, string name, [Blob(“foooutput/{name}”)] out string output) {//do something } public static void QueryAnAPIEndPointToGetFile([TimerTrigger(“* */1 * * * *”)] TimerInfo timerInfo) { // download a file and save it to blob named blah input} 这里的问题是:当我将上述Web作业部署为连续时,只有定时器触发的事件似乎被触发,而应该识别新文件的函数永远不会被触发。 在同一个Web作业中是否不可能有两个这样的触发器?

拦截Azurefunction主机关闭:刷新应用程序洞察TelemetryClient

我正在使用Azurefunction:我主要尝试将现有的webjob迁移到Azurefunction,现在是时候将Application Insights集成到我的一个function中了。 所以基本上我只需要一个TelemetryClient实例,但这假设我能够在应用程序停止时刷新内存缓冲区。 我使用过TimerTrigger,但它仅用于测试目的。 我引用了Microsoft.ApplicationInsights nuget包( 来自这篇SOpost ),我的run.csx文件看起来像这样: using System; using Microsoft.ApplicationInsights; using Microsoft.Azure.WebJobs; public static void Run(TimerInfo myTimer, TraceWriter log) { MyTimerJob.TelemetryClient.TrackEvent(“AzureFunctionTriggered”); log.Verbose($”C# Timer trigger function executed at: {DateTime.Now}”); } public static class MyTimerJob { public static readonly TelemetryClient TelemetryClient; static MyTimerJob(){ TelemetryClient = new TelemetryClient() { InstrumentationKey = “MyInstrumentationKey” }; // When it […]

AzureWebJobsDashboard配置错误

我使用.NET Framework 4.6在Visual Studio 2015中创建了一个新的Azure WebJob项目。 在app.config中,我设置了三个连接字符串: AzureWebJobsDashboard AzureWebJobsStorage MyDatabaseConnectionString AzureWebJobsDashboard和AzureWebJobsStorage连接字符串是相同的,它们都指向我的存储帐户。 我包含了一个连接字符串 – 因为它们都是相同的,除了“名称”。 一切看起来都对我,但我收到以下错误: 未正确设置Microsoft Azure WebJobs仪表板的配置。 在Microsoft Azure网站配置中,必须使用以下格式设置名为AzureWebJobsDashboard的连接字符串:DefaultEndpointsProtocol = https; AccountName = NAME; AccountKey = KEY指向存储Microsoft Azure WebJobs运行时日志的Microsoft Azure存储帐户。 顺便说一下,我知道web作业正在读取app.config,因为我的代码能够连接到我的数据库并更新一些记录。 知道我做错了什么吗?

找不到工作职能。 尝试公开您的工作类和方法

首先,我查看了其他SOpost,并显示相同的错误消息,似乎没有解决我的问题。 我尝试了许多排列和选项。 我的函数构建正常,但不会在CLI中运行,我得到以下神秘错误。 MSFT文档似乎也没有答案。 找不到工作职能。 尝试公开您的工作类和方法。 如果您正在使用绑定扩展(例如ServiceBus,Timers等),请确保您已在启动代码中调用扩展的注册方法(例如config.UseServiceBus(),config.UseTimers()等)。 我正在尝试运行计时器作业,然后将一组消息写入事件中心。 我错过了什么? 我已经打了好几个小时。 function: [FunctionName(“CreateData”)] public static async Task Run([TimerTrigger(“0 */5 * * * *”)]TimerInfo myTimer, [EventHub(“murraytest”, Connection = “evingest”)] IAsyncCollector myeventhub, TraceWriter log) { await myeventhub.AddAsync(“data1”); await myeventhub.AddAsync(“data2”); await myeventhub.AddAsync(“data3″); log.Info($”COMPLETED: {DateTime.Now}”); } local.settings.json: { “IsEncrypted”: false, “Values”: { “AzureWebJobsStorage”: “UseDevelopmentStorage=true”, “Eventhub”: “UseDevelopmentStorage=true”, “AzureWebJobsDashboard”: “”, “evingest”: “Endpoint=sb://example.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=LtcqBLT5VWjg0dGMdIvxCcEGs8902010Y6y14iGg=” […]

在webjob sdk代码fork之后为公共类ServiceBusTriggerAttribute获取exception

我从这里获得所有webjod sdk代码 我想使用Microsoft.Azure.WebJobs.ServiceBus.dll使类ServiceBusTriggerAttribute公共和非密封并创建nuget包但是当我在我的webjob项目中使用此nuget获得以下exception时。 mscorlib.dll中发生了未处理的“System.IO.FileLoadException”类型exception 附加信息:无法加载文件或程序集’Microsoft.Azure.WebJobs.ServiceBus,Version = 1.1.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35’或其依赖项之一。 强名称validation失败。 (HRESULTexception:0x8013141A)

使用本地依赖项发布基于dnx的WebJob

我正在尝试将基于DNX的WebJob发布到Azure。 为此,我将project.json和Program.cs文件添加到一些ZIP-archive并通过Azure门户上传。 这工作正常,但现在我希望我的WebJob项目引用一些其他本地基于DNX的项目(只是一个简单的类库)。 在这种情况下如何上传?

创建Webjob计划时出错

我在TFS 2012内部部署安装中托管了源代码。 当我尝试从Visual Studio 2015将Azure WebJob发布到Azure时,出现以下错误。 错误:创建WebJob计划时发生错误:响应状态代码不表示成功:409(冲突)。 WebJob确实在Web应用程序下创建,但它设置为On Demand而不是计划。 当我打开Fiddler尝试解决此问题时,我收到以下错误。 错误ERROR_CONNECTION_TERMINATED:Web部署任务失败。 (Web部署遇到服务器连接问题,必须终止连接。如果问题仍然存在,请与服务器管理员联系。有关详细信息,请访问: http : //go.microsoft.com/fwlink/?LinkId = 221672 #ERROR_CONNECTION_TERMINATED 。) 如何将预定的WebJob发布到Azure? 或者至少得到更具体的错误?

将Azure Application Insights与Azure WebJob一起使用

Azure文档涵盖了将Azure Application Insights集成到不同应用程序类型(如ASP.NET,Java等)的许多示例。但是,该文档未显示将Application Insights集成到Azure WebJob中的任何示例。 有没有人链接到一个示例或文章,其中包含如何将Azure Application Insights集成到作为控制台应用程序构建的Azure WebJob中?