Были проблемы с удалением вложенного объекта в JSON, возвращенного из запроса правила оповещения Azure.
Благодаря ребятам, я узнал, как добавить объект PSCustomObject в другой.В этом случае (ниже) для добавления действия веб-крюка
"actions": [
{
"$type": "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.RuleEmailAction, Microsoft.WindowsAzure.Management.Mon.Client",
"odata.type": "Microsoft.Azure.Management.Insights.Models.RuleEmailAction",
"sendtoserviceowners": true,
"customEmails": [
"email2@domain.com",
"email1@domain.com"
]
}
]
$rule.properties.actions += [PSCustomObject]@{
'$type' = "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.RuleWebhookAction, Microsoft.WindowsAzure.Management.Mon.Client";
'odata.type' = "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.RuleWebhookAction";
serviceuri = "http://www.webhooktest.com"
}
, что приводит к
"actions": [
{
"$type": "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.RuleWebhookAction, Microsoft.WindowsAzure.Management.Mon.Client",
"odata.type": "Microsoft.Azure.Management.Insights.Models.RuleWebhookAction",
"serviceUri": "http://www.webhooktest.com"
},
{
"$type": "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.RuleEmailAction, Microsoft.WindowsAzure.Management.Mon.Client",
"odata.type": "Microsoft.Azure.Management.Insights.Models.RuleEmailAction",
"sendToServiceOwners": false,
"customEmails": [
"email2@domain.com",
"email1@domain.com"
]
}
]
Мне нужно иметь возможность удалить веб-крючок и оставить сообщение электронной почты.Если бы я мог добавить его с помощью +=
, почему попытка удалить его с помощью -=
$rule.properties.actions -= [PSCustomObject]@{
'$type' = "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.RuleWebhookAction, Microsoft.WindowsAzure.Management.Mon.Client";
'odata.type' = "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.RuleWebhookAction";
serviceuri = "http://www.webhooktest.com"
}
приводит к
результату в [System.Object []]не содержит метод с именем 'op_Subtraction'
Мне тоже не повезло с методом Remove()
.Что будет работать?