Azure Create Alert через API
Создание оповещения через API в Azure.
Оповещение действительно создается, но поле Категория события отображается как все вместо Административное.
Оповещение, которое я хочу создать, относится к категории административных событий, но создается для всех категорий событий.
Я использовал тот же код ранее, и он работал.
Если я пытаюсь обновить что-либо через графический интерфейс, выдается ошибка: не удалось обновить предупреждение "Тестирование". Поле категории отсутствует в условии.
PowerShell
Тело для создания оповещения
$Remediate = @" {
"id": "/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/xxxxxxxxxxxxxxx/providers/microsoft.insights/activityLogAlerts/Testing",
"type": "Microsoft.Insights/ActivityLogAlerts",
"name": "Testing",
"location": "Global",
"kind": null,
"tags": {},
"properties": {
"scopes": ["/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"],
"condition": {
"allOf": [{
"field": "Category",
"equals": "Administrative",
"containsAny": null
}, {
"field": "operationName",
"equals": "Microsoft.Authorization/policyAssignments/write",
"containsAny": null
}]
},
"actions": {
"actionGroups": [{
"actionGroupId": "/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/resourcegroups/xxxxxxxxxxxxxxx/providers/microsoft.insights/actiongroups/TestingAlertGRP",
"webhookProperties": ""
}]
},
"enabled": true,
"description": "Alert created for Testing"
},
"identity": null
}
"@
API
$API = "https://management.azure.com/subscriptions/$SubscriptionID/resourceGroups/$ResourceGroupName/providers/microsoft.insights/activityLogAlerts/$Name`?api-version=2017-04-01"
Invoke-RestMethod -Method Put -Uri $API -Headers @{Authorization = "Bearer $Token"} -Body $Remediate -ContentType 'application/json' | Out-Null