Valider des ressources dans Azure

Effectué

Vous avez évalué toutes les ressources de développement ne se trouvant pas dans le groupe de ressources de production approprié. Vous pensez qu’elles peuvent toutes être déplacées avec succès, mais vous voulez d’abord faire un test.

Dans cette leçon, vous allez apprendre à valider qu’un déplacement va se produire correctement. Vous découvrez aussi comment utiliser l’opération validate move de l’API REST Azure pour tester et valider vos déplacements.

Préparer le test de votre déplacement

Avant de tenter de déplacer une ressource, vous pouvez tester son résultat en appelant l’opération validate move à partir de l’API REST Azure. Ce test s’avère particulièrement utile si vous essayez de déplacer des ressources avec, par exemple, Azure PowerShell ou Azure CLI. Vous pouvez utiliser ces outils pour écrire le script des déplacements avec une interaction humaine très limitée. Le test d’un déplacement n’a aucune incidence sur vos ressources. L’opération permet simplement de déterminer si votre opération de déplacement va réussir, en fonction des options que vous indiquez.

Si vous essayez de déplacer des ressources par le biais du portail Azure, vous n’avez pas besoin de valider le déplacement avant de le tenter. Le portail Azure effectue une validation automatique avant de vous autoriser à déplacer des ressources.

Une API REST est une interface programmatique que vous pouvez appeler en envoyant des requêtes HTTP. Les programmeurs appellent souvent des API REST dans leur code personnalisé à partir de clients comme les applications mobiles. Pour appeler une méthode REST Azure spécifique, comme l’opération validate move, vous pouvez utiliser Azure CLI :

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

Pour formuler l’URI REST correct à appeler et fournir les autres détails nécessaires, vous devez obtenir les informations suivantes :

  • Votre ID d’abonnement Azure.
  • Le nom du groupe de ressources qui contient actuellement vos ressources.
  • L’ID de ressource de chacune des ressources incluses dans votre groupe de ressources d’origine.
  • L’ID de ressource du groupe de ressources de destination dans lequel vous voulez déplacer vos ressources.
  • Le jeton d’accès de votre compte.

Quand vous utilisez Azure CLI pour appeler une opération d’API REST Azure, vous n’avez pas besoin de fournir un ID d’abonnement ni un jeton d’accès. L’interface CLI inclut ces valeurs automatiquement.

Tester la validité de votre déplacement

Intéressons-nous au processus de validation d’un déplacement avec l’API REST.

Vous pouvez envoyer une demande POST avec les détails suivants :

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

Le corps de votre demande POST doit contenir les informations suivantes :

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

Pour envoyer cette demande POST avec le corps approprié en utilisant Azure CLI, exécutez cette commande :

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 votre demande est acceptée, l’API retourne le code d’état 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

À cette phase, la réponse indique que l’API accepte votre requête, mais qu’elle n’a pas validé si votre déplacement va se produire correctement. Cette réponse vous donne une URL d’emplacement. Utilisez cette URL d’emplacement pour tester votre déplacement. Patientez pendant la durée indiquée par la valeur retry-after dans la validation de demande avant de tenter de tester votre validation. Dans cet exemple, la valeur est de 15 secondes.

Après avoir attendu l’heure spécifiée, envoyez une requête GET à l’URL de l’emplacement :

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

Pour envoyer cette requête GET en utilisant Azure CLI, exécutez cette commande :

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

Si votre déplacement est confirmé comme étant réussi, vous obtenez un code d’état 204. Sinon, vous allez recevoir le message d’erreur suivant indiquant un échec de votre déplacement :

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

Vérifiez vos connaissances

1.

Dans quelle situation, parmi les suivantes, un test de validation se produit-il automatiquement ?

2.

Dans quelle situation, parmi les suivantes, avez-vous besoin d’obtenir un jeton d’accès pour pouvoir valider un déplacement ?