Книги Azure Monitor - как делать обновления с помощью кода?

Я использую New-AzResourceGroupDeployment для развертывания книги Azure. Это отлично работает при развертывании новой книги, но можно ли вносить обновления в эту книгу с помощью этого командлета (или создания группы развертывания az)?

Если я развернусь поверх (у меня соответствующий уровень доступа), я получу следующее:

Status Message: A Workbook with the same name already exists within this subscription. (Code:Conflict)

Портал позволяет редактировать существующую книгу, как мне воспроизвести это с помощью кода? Кажется, я не могу найти командлет обновления или эквивалент.

благодаря

2 ответа

Решение

"отображаемое имя" книги используется как "красивое" имя, однако книги также имеют уникальный идентификатор.

скорее всего, у вас есть newguidили что-то в шаблоне, которое создает новый идентификатор ресурса каждый раз, когда вы запускаете шаблон, просто у него такое же "понятное / отображаемое имя", которое обычно видят пользователи.

(это различие существует, потому что на портале есть правила о том, какие символы могут быть в значениях идентификатора ресурса, но мы не хотели ограничивать пользователей книг только с помощью [a-z0-9_] назвать свои рабочие тетради)

если вы хотите снова перезаписать ту же книгу, вам необходимо обновить шаблон, чтобы правильно повторно использовать часть шаблона, содержащую идентификатор, чтобы ARM попытался обновить тот же ресурс вместо создания новой книги с другим идентификатором, но имеющей такое же отображаемое / понятное имя?

GitHub - сообщение Джона Гарднера

Да, @dibyendupal05, это (без точного кода [newGuid()] я имел в виду, когда отправлял несколько ответов:

если вы каждый раз используете новый guid для workbookId, вы больше не создаете ту же книгу. вы создаете новую книгу с новым идентификатором, но повторно используете то же отображаемое имя, которое конфликтует с чем-то другим с таким же именем.

по умолчанию в наших примерах предполагается, что вам нужна новая книга. Если вы изменяете это, чтобы создать / обновить ту же книгу, вам нужно будет где-то установить явный идентификатор, иначе вы получите ошибку о повторяющихся именах.

Как говорит dibyendupal05, если вы хотите использовать шаблон для обновления существующего ресурса, вы не можете использовать newGuid внутри, вы должны явно установить идентификатор и продолжать использовать этот идентификатор, чтобы вы могли запустить тот же шаблон и обновить та же книга, вместо попытки создать новую книгу с тем же отображаемым именем.

Другие вопросы по тегам