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