Validar recursos no Azure

Concluído

Você avaliou todos os recursos de desenvolvimento que estão no grupo de recursos de produção incorreto. Você acha que eles podem se mover sem problemas, mas deseja testá-los primeiro.

Nesta unidade, você aprenderá como validar que uma movimentação será bem-sucedida. Você também aprenderá como usar a operação da API REST do Azure validate move para testar e validar suas movimentações.

Preparar o teste da movimentação

Antes de tentar mover um recurso, você pode testar se isso será bem-sucedido chamando a operação validate move na API REST do Azure. Esse teste é especialmente útil se você está tentando mover recursos usando, por exemplo, o Azure PowerShell ou a CLI do Azure. Você pode usar essas ferramentas para criar um script das movimentações, com interação humana mínima. O teste de uma movimentação não afeta seus recursos. A operação apenas testa se a operação de movimentação terá sucesso, de acordo com as opções fornecidas.

Se você estiver tentando mover recursos pelo portal do Azure, não precisará validar a movimentação antes da tentativa. O portal do Azure faz uma validação automática antes de permitir que você mova recursos.

Uma API REST é uma interface programática que você pode chamar enviando solicitações HTTP. Os programadores geralmente chamam APIs REST no código personalizado em clientes como aplicativos móveis. Para chamar um método específico da REST do Azure, como a operação validate move, use a CLI do Azure:

az rest --method post --uri <enter the correct REST operation URI here>

Para formular o URI da REST correto a ser chamado e fornecer os outros detalhes necessários, é necessário obter as seguintes informações:

  • Sua ID da assinatura do Azure.
  • O nome do grupo de recursos que atualmente contém seus recursos.
  • A ID do recurso de cada um dos recursos do grupo de recursos original.
  • A ID do recurso do grupo de recursos de destino no qual você deseja mover seus recursos.
  • Seu token de acesso da conta.

Quando você usa a CLI do Azure para chamar uma operação da API REST do Azure, não precisa fornecer uma ID da assinatura ou um token de acesso. A CLI inclui esses valores automaticamente.

Testar a validade da movimentação

Vamos ter uma visão de alto nível do processo de validação de uma movimentação usando a API REST.

Você pode enviar uma solicitação POST com os seguintes detalhes:

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

O corpo da solicitação POST precisa conter as seguintes informações:

{
 "resources": ["<your-resource-id-1>", "<your-resource-id-2>", "<your-resource-id-3>"],
 "targetResourceGroup": "/subscriptions/<your-subscription-id>/resourceGroups/<your-target-group>"
}

Para enviar essa solicitação POST com o corpo correto usando a CLI do Azure, execute este comando:

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

Se a solicitação for aceita, a API retornará um código de status 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

Nessa fase, a resposta mostra que a API aceita sua solicitação, mas não validou se sua movimentação será bem-sucedida. Essa resposta fornece uma URL de local. Use essa URL de localização para testar sua movimentação. Aguarde o tempo mostrado no valor retry-after na validação de solicitação antes de tentar testar a validação. Neste exemplo, o valor é 15 segundos.

Após aguardar o tempo especificado, envie uma solicitação GET para a URL da localização:

GET <location-url>
Authorization: Bearer <your-access-token>

Para enviar essa solicitação GET usando a CLI do Azure, execute este comando:

az rest --method get --uri <location-url>

Se sua movimentação for validada como bem-sucedida, você receberá um código de status 204. Caso contrário, você receberá a seguinte mensagem de erro, indicando que seu movimento não será bem-sucedido:

{"error":{"code":"ResourceMoveProviderValidationFailed","message":"<message>"...}}

Verificar seu conhecimento

1.

Em qual das situações a seguir ocorre um teste de validação automaticamente?

2.

Em quais das situações a seguir você precisa obter um token de acesso antes de validar uma movimentação?