Tag: Azure的function

如何在没有嵌套类的情况下在Azure Functions中共享扩展方法?

我知道如何通过#load包含其他.csx文件。 但是,必须在顶级类中定义扩展方法,并且#load嵌套该类,因此它不是顶级的,并且该函数会抛出编译错误。 如何使用共享代码而不将其嵌套在函数的后编译类中?

在Azure函数中初始化AutoMapper

我正在尝试创建一个Azure函数,我在其中使用AutoMapper的一些代码。 我是C#,Azure和AutoMapper的新手,我在找到初始化AutoMapper配置的正确方法时遇到了一些麻烦。 MapInitializer.cs: public static class MapInitializer { public static void Activate() { Mapper.Initialize(cfg => { // initialize mappings here }); } } 然后在我的函数中,我尝试执行以下操作: Function.cs: public static class ProcessQueueForIntercom { [FunctionName(“ProcessQueue”)] public static void Run([QueueTrigger(“messages”)]string myQueueItem, TraceWriter log) { MapInitializer.Activate(); // rest of the code } } 现在的问题是,我第一次使用此function处理消息时,一切顺利,代码按照我的预期运行。 但是,从第二次开始,我收到一条错误,说我的配置已经初始化。 但我真的不知道如何使用Azure函数正确地执行此操作,因为通常您会在App Startup中初始化它,但我认为Azure Functions(CMIW)没有这样的东西,并且我没有找到关于如何做到这一点的更多信息。 我正在考虑用try catch围绕Activate()调用,只记录配置已经加载的警告,但这似乎不是很干净……

在Visual Studio中调试x64 Azurefunction

我正在通过Visual Studio编写C#Azure函数。 此function通过博客存储触发,并使用x64 C ++ DLL处理blob。 问题是与visual studio一起安装的默认Azurefunction工具只有x86版本的exe函数(func.exe)。 我在这个URL看到,现在有x64版本: https : //github.com/Azure/azure-functions-core-tools/releases 问题是,默认情况下,Visual Studio正在我的机器上选择1.2.0版本的工具(C:\ Users \ acardy \ AppData \ Local \ AzureFunctionsTools \ Releases \ 1.2.0),我没有看到1.2 .0 x64在URL上发布。 有没有办法让Visual Studio选择一个我可以用x64版本修补的不同版本? 我目前正在运行Visual Studio 15.7.1版。 谢谢。

部署的Azurefunction(v2)未运行

我有一个Azurefunctionv2,它在本地工作。 当部署到Azure时,一切似乎都在工作状态(包含二进制文件的bin文件夹和包含function.json的函数名称文件夹)。 但是,当我检查它们是否运行(查看日志)时,它们不在监视器选项卡( No data available ),kudu日志流以及常规function视图中: 2018-01-25T10:27:47 Welcome, you are now connected to log-streaming service. 2018-01-25T10:28:47 No new trace in the past 1 min(s). 2018-01-25T10:29:47 No new trace in the past 2 min(s). 信息: 使用Timer触发的Azure Function v2调用: 耐用function(但“正常”v2function不起作用) 使用TFS将代码部署到ARM生成的资源 function.json: { “generatedBy”: “Microsoft.NET.Sdk.Functions.Generator-1.0.6”, “configurationSource”: “attributes”, “bindings”: [ { “type”: “timerTrigger”, “schedule”: “0 */1 * […]

如何设置function应用程序以从媒体类型’application / x-www-form-urlencoded’中提取数据

我的function应用程序中有以下代码 using System.Net; public static async Task Run(HttpRequestMessage req, TraceWriter log) { var data = await req.Content.ReadAsAsync(); var sid = data.sid; log.Info($”sid ={sid}”); return req.CreateResponse(HttpStatusCode.OK, $”Current Time : {DateTime.Now}”); } public class PostData { public string sid { get; set; } } 错误消息是 No MediaTypeFormatter is available to read an object of type ‘PostData’ from […]

尝试连接到azure数据库突然停止工作,抛出exception

我在Azure函数(V2)中运行以下代码; new DocumentClient(new Uri(keys.dbEndPoint), keys.dbPrimaryKey); 直到今天,在localhost上的azure函数中运行良好,没有改变任何东西我现在得到以下exception: Data [IDictionary]:{System.Collections.ListDictionaryInternal} HResult [int]: – 2146233036 HelpLink [string]:null InnerException [Exception]:{System.NullReferenceException:对象引用未设置为对象的实例。}消息[string ]:“’Microsoft.Azure.Documents.UserAgentContainer’的类型初始化程序引发了exception。” Source [string]:“Microsoft.Azure.DocumentDB.Core”StackTrace [string]:“在Microsoft.Azure.Documents.Client.ConnectionPolicy..ctor上的Microsoft.Azure.Documents.UserAgentContainer..ctor()\ r \ n” ()\ r \ n在Microsoft.Azure.Documents.Client.ConnectionPolicy.get_Default()\ r \ n 在Microsoft.Azure.Documents.Client.DocumentClient.Initialize(Uri 1 desiredConsistencyLevel)\r\n at Microsoft.Azure.Documents.Client.DocumentClient..ctor(Uri serviceEndpoint, String authKeyOrResourceToken, ConnectionPolicy connectionPolicy, Nullable ,ConnectionPolicy connectionPolicy,Nullable 1 desiredConsistencyLevel)\r\n at Microsoft.Azure.Documents.Client.DocumentClient..ctor(Uri serviceEndpoint, String authKeyOrResourceToken, ConnectionPolicy connectionPolicy, Nullable 1 desiredConsistencyLevel)\ […]

在Async方法中绑定到输出blob时,将Blob绑定到IAsyncCollector时出错

我试图在这篇文章之后绑定到Async方法中的blob输出: 如何将输出值绑定到我的异步Azure函数? 我有多个输出绑定,所以只返回不是一个选项 public static async Task Run(HttpRequestMessage req, IAsyncCollector collection, TraceWriter log) { if (req.Method == HttpMethod.Post) { string jsonContent = await req.Content.ReadAsStringAsync(); // Save to blob await collection.AddAsync(jsonContent); return req.CreateResponse(HttpStatusCode.OK); } else { return req.CreateResponse(HttpStatusCode.BadRequest); } } 我对blob的绑定是: { “bindings”: [ { “authLevel”: “function”, “name”: “req”, “type”: “httpTrigger”, “direction”: “in” }, { “name”: […]

如何在HTTPS上的Visual Studio中本地运行Azurefunction?

我有一个在Visual Studio中开发的C#库Azure函数(v1 .Net Framework 4.6.1)。 我想在HTTPS上在Visual Studio中本地运行它。 我怎样才能做到这一点? 我已将应用程序参数设置如下: host start –port 7112 –pause-on-error –useHttps –cors * 添加–usehttps导致应用程序无法正常启动。 当应用程序启动它时询问我是否要安装证书,我单击是。 然后控制台窗口显示这个,应用程序似乎没有正确加载 – 最后的消息只是不断重复。 Listening on https://localhost:7112/ Hit CTRL-C to exit… [10/07/2018 15:52:58] Reading host configuration file ‘C:\GTFS\Girlguiding\Gapconsulting.Girlguiding.MSCRM\Gapconsulting.Girlguiding.MSCRM.Companion.Server\bin\Debug\net461\host.json’ [10/07/2018 15:52:58] Host configuration file read: [10/07/2018 15:52:58] {} The host is taking longer than expected to start. (旁白;我试图这样做,因为我认为它可能有助于此 […]

编译的Azurefunction监控:“无可用数据”

我在Azure上使用了几个已编译的C#函数。 它们按预期工作,但当我在任一function上单击“监视”时,它只显示“无可用数据”。 我可以看到在’Develop’选项卡的日志中运行的函数,但是想要概述函数的用法。 有什么我想念的吗?

拦截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 […]