#azure #azure-blob-storage #azure-application-insights #azure-powershell
#azure #azure-blob-хранилище #azure-application-insights #azure-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
Результат теста, как показано ниже:
Комментарии:
1. Правильно — пользовательский интерфейс, похоже, предназначен для изменения существующей конфигурации, а не для отображения текущих значений. Однако, как сказал @ivan, все работает правильно.