根据名称提取应用程序洞察工具密钥

时间:2019-07-12 07:46:47

标签: azure azure-application-insights azure-cloud-services

我正在尝试为大型云服务配置一些自动化功能,该服务需要许多不同的应用程序见解实例。有没有一种方法可以根据应用程序洞察名称提取检测密钥?也许通过一些管理库?

1 个答案:

答案 0 :(得分:0)

是的,有一个.net库。

首先,在您的项目中安装以下nuget软件包:

Install-Package Microsoft.Azure.Management.ApplicationInsights -IncludePrerelease
Install-Package Microsoft.Azure.Services.AppAuthentication -IncludePrerelease

然后,编写一个方法,该方法根据应用洞察名称返回返回检测密钥。

        static string GetIKey(string app_insights_name)
        {
            string IKey = "";
            var auth = new AzureServiceTokenProvider();

            const string url = "https://management.azure.com/";

            string token = auth.GetAccessTokenAsync(url).Result;

            var cred = new TokenCredentials(token);

            var client = new ApplicationInsightsManagementClient(cred)
            {
                //replace with your subscription id
                SubscriptionId = "your-subscription-id",
            };

            var list = new List<ApplicationInsightsComponent>();

            var all = client.Components.List();
            list.AddRange(all);
            foreach (var item in list)
            {
                if (item.Name.ToLower() == app_insights_name.ToLower())
                {
                    return item.InstrumentationKey;
                }

            }

            //if no app insights name matches, return ""
            return "";

        }

测试结果:

enter image description here