Как правильно настроить Continuous Exports в App Insights с помощью сценария powershell?
Я слежу за документацией Microsoft о том, как настроить непрерывный экспорт для AppInsights в Azure.
Мой текущий скрипт выглядит так:
[CmdletBinding()]
Param(
[Parameter(Mandatory=$True)]
[String]$resourceGroupName,
[Parameter(Mandatory=$True)]
[String]$appInsightsName,
[Parameter(Mandatory=$True)]
[String[]]$docTypes,
[Parameter(Mandatory=$True)]
[String]$storageAccountName,
[Parameter(Mandatory=$True)]
[String]$continuousExportContainerName
)
Login-AzureSubscription > $Null
$storage = Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName
$continuousExportContainer = Get-AzureStorageContainer -Context $storage.Context -Name $continuousExportContainerName
$sasToken = New-AzureStorageContainerSASToken -Name testcontainer -Context $storage.Context -ExpiryTime (Get-Date).AddYears(50) -Permission "rwdl"
$sasUri = $continuousExportContainer.CloudBlobContainer.Uri.AbsoluteUri + $sasToken
$defaultLocation = Get-DataCenterLocation us AppInsights
New-AzureRmApplicationInsightsContinuousExport -ResourceGroupName $resourceGroupName -Name $appInsightsName -DocumentType $docTypes -StorageAccountId $storage.Id -StorageLocation $defaultLocation -StorageSASUri $sasUri
При запуске скрипта и проверке портала я вижу, что он был создан:
Эта проблема:
Сценарий включил запрос и исключение (предоставлено мной для параметра $docType), но ни хранилище, ни контейнер хранилища не были настроены должным образом. Я не уверен, что здесь происходит.
1 ответ
Это специально (хотя я не знаю почему, это странно).
Даже когда вы вручную создаете непрерывный экспорт по пользовательскому интерфейсу на портале Azure, вы можете увидеть то же поведение. Но это работает, и данные будут отправлены в контейнер для хранения, который вы определили ранее.
И, насколько я знаю, вы можете использовать этот командлет powershell Get-AzApplicationInsightsContinuousExport
проверить контейнер для хранения / место хранения.
Пример кода PowerShell:
$s = Get-AzApplicationInsightsContinuousExport -ResourceGroupName your_resourceGroupName -Name your_app_insights_name
# get the storage container name
$s.ContainerName
# get the Storage location name
$s.DestinationStorageLocationId
# get the storage account name
$s.StorageName
Результат теста, как показано ниже: