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 você quer testá-lo primeiro.

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

Preparar para testar a sua movimentação

Antes de tentar mover um recurso, pode testar se vai ocorrer com êxito ao chamar a operação validate move da API REST do Azure. Esse teste é especialmente útil se você estiver tentando mover recursos usando (por exemplo) o Azure PowerShell ou a CLI do Azure. Você pode usar essas ferramentas para criar scripts de movimentos com o mínimo de interação humana. Testar uma movimentação não afeta os seus recursos. A operação testa apenas se a operação de movimentação seria bem-sucedida com base nas opções fornecidas.

Se estiver a tentar mover recursos através do portal do Azure, não precisa de validar a movimentação antes de tentar. O portal do Azure efetua uma validação automática antes de permitir que mova os recursos.

Uma API REST é uma interface programática que pode chamar ao enviar pedidos HTTP. Geralmente, os programadores chamam APIs REST no seu código personalizado dos clientes como aplicações móveis. Para chamar um método REST do Azure específico, como a operação validate move, pode utilizar a CLI do Azure:

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

Para formular o URI REST correto para chamar e, para fornecer os outros detalhes necessários, tem de obter as seguintes informações:

  • O seu ID de subscrição do Azure.
  • O nome do grupo de recursos que contém atualmente os seus recursos.
  • O ID do recurso de cada um dos recursos no seu grupo de recursos original.
  • O ID do recurso do grupo de recursos de destino em que pretende mover os seus recursos.
  • O token de acesso da sua conta.

Quando utiliza a CLI do Azure para chamar uma operação API REST do Azure, não tem de fornecer um ID de subscrição ou um token de acesso. A CLI inclui estes valores automaticamente.

Testar a validade da sua movimentação

Vamos ver o processo para validar uma movimentação com a API REST.

Pode enviar um pedido 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 do pedido POST tem de 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 submeter este pedido POST com o corpo correto ao utilizar 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 o seu pedido for aceite, a API devolve um código de estado 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

Nesta etapa, a resposta mostra que a API aceita sua solicitação, mas não validou se sua mudança será bem-sucedida. Esta resposta dá-lhe um URL de localização. Utilize este URL de localização para testar a sua mudança. Aguarde a quantidade de tempo mostrada retry-after no valor na validação da solicitação antes de tentar testar sua validação. Neste exemplo, o valor é de 15 segundos.

Depois de aguardar o tempo especificado, envie uma solicitação GET para o URL do local:

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

Para submeter este pedido GET com a CLI do Azure, execute este comando:

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

Se a sua mudança 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 sua mudança não será bem-sucedida:

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

Verifique o seu conhecimento

1.

Em qual das seguintes situações ocorrerá um teste de validação automaticamente?

2.

Em qual das seguintes situações tem de obter um token de acesso antes de poder validar uma movimentação?