Ошибка неверного запроса при создании оповещений для PipelineFailedRuns с использованием Powershell в Azure - PullRequest
0 голосов
/ 06 марта 2019

Я использую опцию встроенных сценариев для создания оповещения для AzureDataFactory V2.

Цель состоит в том, чтобы отправить автоматическую почту, когда число неисправных конвейеров больше или равно 1.

Add-AzureRmMetricAlertRule 
-Name "SS Rule" 
-Location "East US"
-ResourceGroup "RGname" 
-Operator GreaterThanOrEqual 
-Threshold 1 
-TargetResourceId "/subscriptions/subid/resourceGroups/RGname/providers/Microsoft.DataFactory/factories/DFname" 
-MetricName "PipelineFailedRuns" 
-TimeAggregationOperator Total

При попытке запустить это оповещение о создании я получаю следующую ошибкукоманда-

[ошибка] Тип исключения: ErrorResponseException, Сообщение: идентификатор целевого ресурса '/subscription/subid/resourceGroups/rgname/providers/Microsoft.DataFactory/factories/' не поддерживается., код: ResourceNotSupported, Код состояния: BadRequest, Фраза причины: Неверный запрос

1 Ответ

0 голосов
/ 07 марта 2019

Эта ошибка довольно специфична. Это не проблема PowerShell.

То, что вы делаете, недопустимо в отношении Azure. Примеры файлов справки показывают ...

Example 1: Add a metric alert rule to a website
    PS C:\>Add-AzureRMMetricAlertRule -Name "metricRule5" -Location "East US" -ResourceGroup "Default-Web-EastUS" -Operator GreaterThan -Threshold 2 -WindowSize 00:05:00 -MetricName "Requests" -Description "Pura Vida" -TimeAggregationOperator Total
    RequestId                                                                                                    StatusCode
    ---------                                                                                                    ----------
    33574ccf-0b01-43b4-aa97-87e6bbcf1c11 



Example 3: Add a rule with actions

PS C:\>Add-AzureRmMetricAlertRule -Name "metricRule5" -Location "East US" -ResourceGroup "Default-Web-EastUS" -Operator GreaterThan -Threshold 1 -TargetResourceId "/subscriptions/b93fb07a-6f93-30be-bf3e-4f0deca15f4f/resourceGroups/Default-Web-EastUS/providers/microsoft.web/sites/mywebsite" -MetricName "Requests" -TimeAggregationOperator Total
RequestId                                                                                                    StatusCode
---------                                                                                                    ----------
9a5bc388-c7ac-4dc6-aa70-f4bc29c2c712                                                                                 OK

Итак, хотя они все в одной строке, вы можете отформатировать их так, чтобы они были более читабельными.

Тем не менее, ваш формат поста, возможно, вы сделали это, чтобы сделать его читаемым для нас. Если вы сделали это в своем сценарии, то это неправильно. Отсюда и ошибки. С вашим постом это невозможно сделать без использования знака обратной галочки в форматировании ---

Add-AzureRmMetricAlertRule -Name "SS Rule" `
-Location "East US" `
-ResourceGroup "RGname" `
-Operator GreaterThanOrEqual `
-Threshold 1 `
-TargetResourceId "/subscriptions/subid/resourceGroups/RGname/providers/Microsoft.DataFactory/factories/DFname" `
-MetricName "PipelineFailedRuns" `
-TimeAggregationOperator Total

--- (многие недовольны этим, у меня нет с этим проблем) или используйте брызги.

$addAzureRmMetricAlertRuleSplat = @{
    MetricName = "PipelineFailedRuns"
    TimeAggregationOperator = 'Total'
    ResourceGroupName = "RGname"
    Operator = 'GreaterThanOrEqual'
    Name = "SS Rule"
    Threshold = 1
    Location = "East US"
    TargetResourceId = "/subscriptions/subid/resourceGroups/RGname/providers/Microsoft.DataFactory/factories/DFname"
}
Add-AzureRmMetricAlertRule @addAzureRmMetricAlertRuleSplat
...