代码之家  ›  专栏  ›  技术社区  ›  Maxim Gershkovich

以编程方式获取Application Insights Instrumentation密钥

  •  4
  • Maxim Gershkovich  · 技术社区  · 6 年前

    我正在努力获得 仪表键 api密钥 需要以编程方式在应用程序中配置应用程序细节。

    我这样做是因为我有许多应用程序,每个应用程序都有独立的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 ?

    1 回复  |  直到 6 年前
        1
  •  3
  •   Maxim Gershkovich    6 年前

    终于解决了。我要找的班级在 Microsoft.Azure.Management.ApplicationInsights 在那里你会发现 ApplicationInsightsManagementClient 它允许您创建web api密钥并检索有关insights服务的更多详细信息。可以找到nuget包 here .

    这就是代码的样子

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