Validar recursos en Azure

Completado

Ha valorado todos los recursos de desarrollo que se encuentran en el grupo de recursos de producción incorrecto. Cree que pueden trasladarse sin problemas, pero quiere probarlo primero.

En esta unidad, aprenderá a validar que un traslado se realizará correctamente. También aprenderá a usar la operación validate move de la API REST de Azure para probar y validar los traslados.

Prepararse para probar el traslado

Antes de intentar mover un recurso, puede probar si se hará correctamente. Para ello, llame a la operación validate move desde la API de REST de Azure. Esta prueba es especialmente útil si se quieren trasladar recursos mediante (por ejemplo) Azure PowerShell o la CLI de Azure. Puede usar estas herramientas para crear scripts de traslado, con una interacción humana mínima. Poner a prueba un traslado no afecta a los recursos. Esta operación solo comprueba si el traslado se realiza correctamente, en función de las opciones proporcionadas.

Si está intentando trasladar recursos a través de Azure Portal, no es necesario validar el traslado antes de intentarlo. Azure Portal realiza una validación automática antes de permitirle trasladar recursos.

Una API REST es una interfaz de programación a la que se puede llamar mediante el envío de solicitudes HTTP. Los programadores a menudo llaman a las API REST en su código personalizado desde clientes, como aplicaciones móviles. Para llamar a un método REST de Azure específico, como la operación validate move, puede usar la CLI de Azure:

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

Para formular el URI de REST correcto al que llamar y proporcionar los otros detalles necesarios, debe obtener esta información:

  • Su identificador de suscripción de Azure.
  • Nombre del grupo de recursos que contiene actualmente los recursos.
  • El identificador de recurso para cada uno de los recursos del grupo de recursos original.
  • El identificador de recurso para el grupo de recursos de destino al que quiere trasladar los recursos.
  • El token de acceso de la cuenta.

Cuando se usa la CLI de Azure para llamar a una operación de la API de REST de Azure, no es necesario proporcionar un identificador de suscripción o un token de acceso. La CLI incluye estos valores automáticamente.

Prueba de la validez del traslado

Echemos un vistazo general al proceso de validación de un traslado mediante la API REST.

Puede enviar una solicitud POST con estos detalles:

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

El cuerpo de la solicitud POST debe contener esta información:

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

Para enviar esta solicitud POST con el cuerpo correcto mediante la CLI de Azure, ejecute 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

Si se acepta la solicitud, la API devuelve un 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

En esta fase, la respuesta muestra que la API acepta la solicitud, pero no ha validado si el traslado se realizará correctamente. Esta respuesta proporciona una dirección URL de ubicación. Use esta dirección URL de ubicación para probar el traslado. Espere el tiempo indicado en el valor retry-after en la validación de solicitud antes de intentar probar la validación. En este ejemplo, el valor es 15 segundos.

Después de esperar el tiempo especificado, envíe una solicitud GET a la dirección URL de ubicación:

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

Para enviar esta solicitud GET mediante la CLI de Azure, ejecute este comando:

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

Si el traslado se valida correctamente, obtendrá un código de estado 204. De lo contrario, recibirá este mensaje de error si el traslado no se realiza correctamente:

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

Comprobación de conocimientos

1.

¿En cuál de las siguientes situaciones se realizará una prueba de validación automáticamente?

2.

¿En cuál de las siguientes situaciones debe obtener un token de acceso para poder validar un traslado?