Проверка ресурсов в Azure
Вы оценили все ресурсы разработки, которые находятся в неправильной рабочей группе ресурсов. Вы думаете, что они могут двигаться без проблем, но вы хотите сначала протестировать его.
В этом уроке вы узнаете, как проверить успешность перемещения. Вы также узнаете, как использовать операцию REST API validate move
Azure для тестирования и проверки перемещения.
Подготовка к тестированию перемещения
Прежде чем пытаться переместить ресурс, можно проверить, будет ли эта процедура успешной, вызвав операцию validate move
из REST API Azure. Эта проверка особенно полезна при переносе ресурсов, например с помощью Azure PowerShell или интерфейса командной строки Azure. Эти средства можно использовать для составления сценариев перемещения с минимальным участием человека. Тестирование перемещения не затрагивает сами ресурсы. Эта операция лишь проверяет успешность операции перемещения на основе предоставленных параметров.
Если вы пытаетесь переместить ресурсы с помощью портала Azure, выполнять предварительную проверку не нужно. Перед перемещением ресурсов портал Azure выполняет проверку автоматически.
REST API — это программный интерфейс, который можно вызывать путем отправки HTTP-запросов. Программисты часто вызывают REST API в своем пользовательском коде из клиентов, таких как мобильные приложения. Чтобы вызвать конкретный метод REST Azure, например операцию validate move
, можно использовать Azure CLI:
az rest --method post --uri <enter the correct REST operation URI here>
Чтобы сформулировать правильный вызываемый URI REST и предоставить другие необходимые сведения, нужно получить следующую информацию:
- Идентификатор вашей подписки Azure.
- Имя группы ресурсов, в которой сейчас находятся ресурсы.
- Идентификатор ресурса для каждого из ресурсов в исходной группе ресурсов.
- Идентификатор ресурса для целевой группы ресурсов, куда требуется переместить ресурсы.
- Маркер доступа вашей учетной записи.
При использовании Azure CLI для вызова операции REST API Azure вам не нужно указывать идентификатор подписки или маркер доступа. Интерфейс командной строки включает эти значения автоматически.
Проверка допустимости перемещения
Давайте в общих чертах рассмотрим процесс проверки перемещения с помощью REST API.
Вы можете отправить запрос POST со следующими сведениями:
POST https://management.azure.com/subscriptions/<your-subscription-id>/resourceGroups/<your-source-group>/validateMoveResources?api-version=2019-05-10
Authorization: Bearer <your-access-token>
Content-type: application/json
Текст запроса POST должен содержать следующие сведения:
{
"resources": ["<your-resource-id-1>", "<your-resource-id-2>", "<your-resource-id-3>"],
"targetResourceGroup": "/subscriptions/<your-subscription-id>/resourceGroups/<your-target-group>"
}
Чтобы отправить этот запрос POST с правильным текстом с помощью Azure CLI, выполните следующую команду:
az rest --method post \
--uri https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/<your-source-group>/validateMoveResources?api-version=2019-05-10 \
--body "{\"resources\": [\"<your-resource-id-1>\", \"<your-resource-id-2>\", \"<your-resource-id-3>\"], \"targetResourceGroup\": \"/subscriptions/<your-subscription-id>/resourceGroups/<your-target-group>\"}" \
--verbose
Если запрос принят, API возвращает код состояния 202:
Response Code: 202
cache-control: no-cache
pragma: no-cache
expires: -1
location: https://management.azure.com/subscriptions/<your-subscription-id>/operationresults/<your-operation-id>?api-version=2018-02-01
retry-after: 15
На этом этапе ответ показывает, что API принимает запрос, но он не проверяет, будет ли ваш шаг успешным. Этот ответ предоставляет URL-адрес расположения. Используйте этот URL-адрес расположения для тестирования перемещения. Прежде чем пытаться выполнить проверку, подождите в течение времени, указанного в значении retry-after
в проверке запроса. В этом примере значение равно 15 секундам.
После ожидания указанного времени отправьте запрос GET в URL-адрес расположения:
GET <location-url>
Authorization: Bearer <your-access-token>
Чтобы отправить запрос GET с помощью Azure CLI, выполните следующую команду:
az rest --method get --uri <location-url>
Если перемещение проверяется успешно, вы получите код состояния 204. В противном случае вы получите следующее сообщение об ошибке, указывающее, что ваш шаг не будет успешным:
{"error":{"code":"ResourceMoveProviderValidationFailed","message":"<message>"...}}