我正在尝试获取以编程方式在我的应用程序中配置Application Insights所需的检测密钥和 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
检索此信息的任何指导吗?
答案 0 :(得分:3)
终于解决了。我正在寻找的课程位于Microsoft.Azure.Management.ApplicationInsights
,你会发现ApplicationInsightsManagementClient
,它允许你创建一个web api密钥并检索有关你的见解服务的更多细节。可以找到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());
}