Convalidare le risorse in Azure

Completato

Sono state valutate tutte le risorse di sviluppo incluse nel gruppo di risorse di produzione errato. Si ritiene che possano essere spostate senza problemi, ma è preferibile fare un test.

In questa unità si apprenderà come verificare se uno spostamento avrà esito positivo. Si apprenderà anche come usare l'operazione validate move dell'API REST di Azure per testare e convalidare gli spostamenti.

Preparare il test dello spostamento

Prima di provare a spostare una risorsa, è possibile verificare se lo spostamento avrà esito positivo chiamando l'operazione validate move dall'API REST di Azure. Questo test è particolarmente utile se si sta provando a spostare le risorse, usando ad esempio Azure PowerShell o l'interfaccia della riga di comando di Azure. È possibile usare questi strumenti per eseguire gli spostamenti tramite script, con un'interazione minima da parte dell'utente. Il test di uno spostamento non ha alcun impatto sulle risorse. Viene verificato solo se l'operazione di spostamento può riuscire in base alle opzioni fornite.

Se si sta cercando di spostare le risorse tramite il portale di Azure, non è necessario convalidare lo spostamento prima di eseguirlo. Il portale di Azure esegue infatti una convalida automatica prima di consentire lo spostamento delle risorse.

Un'API REST è un'interfaccia programmatica che è possibile chiamare inviando richieste HTTP. I programmatori spesso chiamano le API REST nel codice personalizzato dai client, ad esempio le app per dispositivi mobili. Per chiamare un metodo dell'API REST di Azure specifico, come l'operazione validate move, è possibile usare l'interfaccia della riga di comando di Azure:

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

Per formulare l'URI REST corretto da chiamare e per fornire gli altri dettagli necessari, occorre ottenere le informazioni seguenti:

  • L'ID sottoscrizione di Azure.
  • Il nome del gruppo di risorse che contiene attualmente le risorse.
  • L'ID risorsa di ognuna delle risorse contenute nel gruppo di risorse originale.
  • L'ID risorsa del gruppo di risorse di destinazione in cui si vogliono spostare le risorse.
  • Il token di accesso dell'account.

Quando si usa l'interfaccia della riga di comando di Azure per chiamare un'operazione API REST di Azure, non è necessario specificare un ID sottoscrizione o un token di accesso. L'interfaccia della riga di comando include automaticamente questi valori.

Testare la validità dello spostamento

Di seguito verrà descritto in termini generali il processo di convalida di uno spostamento tramite l'API REST.

È possibile inviare una richiesta POST con i dettagli seguenti:

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

Il corpo della richiesta POST deve contenere queste informazioni:

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

Per inviare la richiesta POST con il corpo corretto usando l'interfaccia della riga di comando di Azure, eseguire questo 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 la richiesta viene accettata, l'API restituisce il codice di stato 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

In questa fase, la risposta mostra che l'API accetta la richiesta, ma non ha convalidato se lo spostamento avrà esito positivo. Questa risposta fornisce un URL di posizione. Usare questo URL del percorso per testare lo spostamento. Prima di provare a testare la convalida, attendere la quantità di tempo indicata nel valore retry-after nella convalida della richiesta. In questo esempio il valore è 15 secondi.

Dopo aver aspettato l’intervallo di tempo specificato, inviare una richiesta GET all'URL del percorso:

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

Per inviare la richiesta GET usando l'interfaccia della riga di comando di Azure, eseguire questo comando:

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

Se l'esito positivo dello spostamento viene convalidato, si ottiene il codice di stato 204. In caso contrario, viene visualizzato il messaggio di errore seguente che indica che lo spostamento non avrà esito positivo:

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

Verificare le conoscenze

1.

In quale delle situazioni seguenti un test di convalida viene eseguito automaticamente?

2.

In quale delle situazioni seguenti è necessario ottenere un token di accesso per poter convalidare uno spostamento?