gpt4 book ai didi

azure - 添加自定义维度以请求遥测 - Azure 函数

转载 作者:行者123 更新时间:2023-12-04 16:01:46 25 4
gpt4 key购买 nike

我正在使用 v2.x 创建一个新的 Function 应用,并且正在集成 Application Insights 以进行请求日志记录,随着 Azure Function 现在与 App Insights 集成(如文档 link 中所述),该日志记录会自动完成。我需要做的是在 Application Insights 请求遥测中的自定义维度中记录一些自定义字段。是否可以不使用自定义请求日志记录(使用 TrackRequest 方法)

最佳答案

关于添加自定义属性,可以引用这个教程:Add properties: ITelemetryInitializer 。下面是我测试的一个HTTP触发功能。

public static class Function1
{
private static string key = "Your InstrumentationKey";
private static TelemetryClient telemetry = new TelemetryClient() { InstrumentationKey = key };
[FunctionName("Function1")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");

if (!telemetry.Context.Properties.ContainsKey("Function_appName"))
{
telemetry.Context.Properties.Add("Function_appName", "testfunc");
}
else
{
telemetry.Context.Properties["Function_appName"] = "testfunc";
}

telemetry.TrackEvent("eventtest");
telemetry.TrackTrace("tracetest");

string name = req.Query["name"];

string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
dynamic data = JsonConvert.DeserializeObject(requestBody);
name = name ?? data?.name;

return name != null
? (ActionResult)new OkObjectResult($"Hello, {name}")
: new BadRequestObjectResult("Please pass a name on the query string or in the request body");
}
}

运行此功能后,转到Application Insights Search可以查看数据或转到Logs(Analytics)。

enter image description here

enter image description here

更新:

enter image description here

enter image description here

关于azure - 添加自定义维度以请求遥测 - Azure 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57073603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com