【问题标题】:Obtaining Application Insights Instrumentation Key programmatically以编程方式获取 Application Insights Instrumentation Key
【发布时间】:2017-11-29 19:02:48
【问题描述】:

我正在尝试以编程方式获取在我的应用程序中配置 Application Insights 所需的 instrumentation keyapi key

我这样做是因为我有许多应用程序,每个应用程序都有单独的 Application Insights 实例,需要独立配置。

我已尝试使用Microsoft.Azure.Management.ResourceManager 获取 Azure 上的资源,但我看不到获取或设置所需信息的方法。

这是我目前所拥有的

ServiceClientCredentials credentials = await AuthenticationManagement.GetToken();

using (var resourceClient = new ResourceManagementClient(credentials))
{
    resourceClient.SubscriptionId = AuthenticationManagement.SubscriptionId;

    foreach (var item in resourceClient.Resources.List(new ODataQuery<GenericResourceFilter>(o => o.ResourceType == "microsoft.insights/components")
    {
        Expand = "$expand=Properties"
    }))
    {
        Console.WriteLine(item.Properties); //Still empty?
    }

}

我在这一点上陷入了困境,因为我没有发现明显的方法可以从 API 更新或检索我需要的值。

那么任何人都可以就我如何使用ResourceManagementClient 检索这些信息提供任何指导吗?

【问题讨论】:

    标签: c# azure azure-application-insights azure-resource-manager


    【解决方案1】:

    终于搞定了。我正在寻找的课程在 Microsoft.Azure.Management.ApplicationInsights 中,您将在那里找到 ApplicationInsightsManagementClient,它允许您创建 Web api 密钥并检索有关您的洞察服务的更多详细信息。可以在here找到nuget包。

    这就是代码的样子

    using (var appInsightsManagementClient = new ApplicationInsightsManagementClient(credentials))
    {
        ServiceClientCredentials credentials = await AuthenticationManagement.GetToken();
    
        appInsightsManagementClient.SubscriptionId = AuthenticationManagement.SubscriptionId;
    
        appInsightsManagementClient.APIKeys.Create("Resource-Group", "Resource-Name", new APIKeyRequest());
    }
    

    【讨论】:

      猜你喜欢
      • 2017-07-04
      • 2023-01-11
      • 1970-01-01
      • 1970-01-01
      • 2018-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多