Ověření prostředků v Azure

Dokončeno

Posoudili jste všechny vývojové prostředky, které jsou v nesprávné produkční skupině prostředků. Myslíte si, že se můžou pohybovat bez problémů, ale chcete ho nejdřív otestovat.

V této lekci se dozvíte, jak ověřit, že přesun bude úspěšný. Dozvíte se také, jak pomocí operace rozhraní Azure REST API validate move otestovat a ověřit přesuny.

Příprava na test přesunutí

Než se pokusíte prostředek přesunout, můžete otestovat, jestli bude přesunutí úspěšné tak, že zavoláte operaci validate move z Azure REST API. Tento test je užitečný hlavně v případě, že se pokoušíte přesunout prostředky pomocí (například) Azure PowerShellu nebo Azure CLI. Pomocí těchto nástrojů můžete skriptovat přesuny s minimální lidskou interakcí. Testování přesunutí nemá vliv na vaše prostředky. Operace testuje pouze to, jestli by operace přesunutí byla úspěšná na základě vámi zadaných možností.

Pokud se pokoušíte přesunout prostředky prostřednictvím webu Azure Portal, nemusíte přesunutí před vlastním pokusem ověřovat. Web Azure Portal provede automatické ověření, než vám povolí prostředky přesunout.

REST API je programové rozhraní, které můžete volat odesláním požadavků HTTP. Programátoři často volají rozhraní REST API ve vlastním kódu z klientů, jako jsou například mobilní aplikace. Pro volání konkrétní metody Azure REST, jako je například operace validate move, můžete použít Azure CLI:

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

Pokud chcete formulovat správný identifikátor REST URI pro volání a poskytnout další nezbytné podrobnosti, musíte získat následující informace:

  • ID vašeho předplatného Azure
  • Název skupiny prostředků, ve které se v současné době nachází vaše prostředky
  • ID prostředku pro každý z prostředků v původní skupině prostředků
  • ID prostředku pro cílovou skupinu prostředků, kam chcete prostředky přesunout
  • Přístupový token vašeho účtu

Když použijete rozhraní Azure CLI pro volání operace Azure REST API, nemusíte zadávat ID předplatného ani přístupový token. Rozhraní příkazového řádku obsahuje tyto hodnoty automaticky.

Testování platnosti přesunutí

Pojďme se podívat na proces ověření přesunutí pomocí rozhraní REST API.

Můžete odeslat požadavek POST s následujícími podrobnostmi:

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

Text požadavku POST musí obsahovat následující informace:

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

Pokud chcete odeslat tento požadavek POST se správným textem pomocí Azure CLI, spusťte tento příkaz:

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

Pokud je váš požadavek přijat, vrátí rozhraní API stavový kód 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

V této fázi odpověď ukazuje, že rozhraní API přijímá vaši žádost, ale neověřila, jestli bude přesun úspěšný. Tato odpověď vám poskytne adresu URL umístění. Pomocí této adresy URL umístění otestujte přesunutí. Než se pokusíte otestovat ověření, počkejte na dobu uvedenou v retry-after hodnotě ověření požadavku. V tomto příkladu jde o hodnotu 15 sekund.

Po čekání na zadaný čas odešlete požadavek GET na adresu URL umístění:

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

Pokud chcete odeslat tento požadavek GET pomocí Azure CLI, spusťte tento příkaz:

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

Pokud se přesun ověří jako úspěšný, získáte stavový kód 204. V opačném případě se zobrazí následující chybová zpráva, která značí, že přesunutí nebude úspěšné:

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

Prověřte si své znalosti

1.

Ve které z následujících situací by se ověřovací test provedl automaticky?

2.

Ve které z následujících situací potřebujete získat přístupový token, abyste mohli ověřit přesunutí?