繁体   English   中英

如何通过REST API创建Azure Application Insights的新实例

[英]How to create a new instance of Azure Application Insights through the REST API

我想自动为ASP.Net Web应用程序设置Azure Application Insights帐户。

我已经安装了nuget包: Install-Package Microsoft.Azure.Insights -Pre现在我正在查看Microsoft.Azure.Management.Insights.InsightsManagementClient

管理现有帐户有很多操作,但我找不到创建新帐户的操作。

需要说明的是:在https://portal.azure.com上,我可以单击“ New > Create > Developer Services > Application Insights 我怎么用c#做到这一点?

这是由Eric Mattingly创建的脚本(为此需要安装Azure PowerShell):

 Output: App Insights Name = erimattestapp IKey = 00000000-0000-0000-0000-000000000000 Script: cls ################################################################## # Set Values ################################################################## #If running manually, comment this out to before the first execution to login to the Azure Portal #Add-AzureAccount #Set the name of the Application Insights Resource $appInsightsName = "erimatTestApp" #Set the application name used for the value of the Tag "AppInsightsApp" - http://azure.microsoft.com/en-us/documentation/articles/azure-preview-portal-using-tags/ $applicationTagName = "erimatTestApp" #Set the name of the Resource Group to use. By default will use the application Name as a starter $resourceGroupName = "erimatTestAppRG" ################################################################## # Create the Resource and Output the name and iKey ################################################################## #Set the script to Resource Manager - http://azure.microsoft.com/en-us/documentation/articles/powershell-azure-resource-manager/ Switch-AzureMode AzureResourceManager #Select the azure subscription Select-AzureSubscription -SubscriptionName "ECIT Preproduction Monitoring" #Create the App Insights Resource $resource = New-AzureResource -Name $appInsightsName -ResourceGroupName $resourceGroupName -Tag @{ Name = "AppInsightsApp"; Value = $applicationTagName} -ResourceType "Microsoft.Insights/Components" -Location "Central US" -ApiVersion "2014-08-01" #Give team owner access - http://azure.microsoft.com/en-us/documentation/articles/role-based-access-control-powershell/ New-AzureRoleAssignment -Mail "ECITTelemetryTeam@microsoft.com" -RoleDefinitionName Owner -Scope $resource.ResourceId | Out-Null #Display iKey Write-Host "App Insights Name = " $resource.Properties["Name"] Write-Host "IKey = " $resource.Properties["InstrumentationKey"] 

感谢Anastasiapowershell示例,我能够查看powershell cmdlet实现并弄清楚如何在代码中执行此操作:

// initialize resource management client
var resourceManagement = new ResourceManagementClient(this.Credentials);
resourceManagement.Providers.RegisterAsync("microsoft.insights").Result;

// create identity & parameters for create call
var resourceIdentity = new ResourceIdentity(
    "SomeResourceName", // ResourceName
    "microsoft.insights/components", // ResourceType
    "2014-04-01" // Api Version
);
var parameters = new GenericResource {
    Location = 'centralus'
};

// send call off and hope for the best
var result = this.ManagementContext.ResourceManagement.Resources.CreateOrUpdateAsync(
    "SomeResourceGroupName",
    resourceIdentity,
    parameters,
    CancellationToken.None).Result;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM