Validieren von Ressourcen in Azure
Sie haben alle Entwicklungsressourcen bewertet, die sich in der falschen Produktionsressourcengruppe befinden. Sie glauben, dass sie diese ohne Probleme verschieben können, aber Sie wollen es erst testen.
In dieser Lerneinheit erfahren Sie, wie Sie überprüfen können, ob eine Verschiebung erfolgreich sein wird. Sie lernen auch, wie Sie den validate move
-Vorgang der Azure REST-API verwenden, um Ihre Verschiebungen zu testen und zu validieren.
Vorbereiten des Verschiebungstests
Bevor Sie eine Ressource verschieben, können Sie testen, ob die Verschiebung erfolgreich sein wird, indem Sie den validate move
-Vorgang der Azure-REST-API aufrufen. Dieser Test ist besonders nützlich, wenn Sie Ressourcen (beispielsweise) über Azure PowerShell oder die Azure CLI verschieben möchten. Sie können mithilfe dieser Tools Skripts für Verschiebungen schreiben, die ein Mindestmaß an Benutzerinteraktion erfordern. Ein Verschiebungstest wirkt sich nicht auf Ihre Ressourcen aus. Mit diesem Vorgang wird anhand der angegebenen Optionen lediglich getestet, ob die Verschiebung erfolgreich wäre.
Wenn Sie Ressourcen über das Azure-Portal verschieben, müssen Sie die Verschiebung nicht im Voraus validieren. Das Azure-Portal führt eine automatische Validierung durch, bevor die Ressourcen verschoben werden.
Eine REST-API ist eine programmgesteuerte Schnittstelle, die Sie über HTTP-Anforderungen aufrufen können. Programmierer rufen REST-APIs häufig in benutzerdefiniertem Code von Clients wie mobile Apps auf. Sie können spezifische Azure-REST-Methoden wie den Vorgang validate move
über die Azure CLI aufrufen:
az rest --method post --uri <enter the correct REST operation URI here>
Sie müssen folgende Informationen angeben, damit der richtige REST-URI erstellt wird und die erforderlichen Details enthalten sind:
- die Azure-Abonnement-ID
- den Namen der Ressourcengruppe, in der sich Ihre Ressourcen aktuell befinden
- die Ressourcen-ID für jede Ressource in der ursprünglichen Ressourcengruppe
- die Ressourcen-ID für die Ressourcengruppe, in die Ihre Ressourcen verschoben werden sollen
- das Zugriffstoken für Ihr Konto
Wenn Sie die Azure CLI verwenden, um einen Azure-REST-API-Vorgang aufzurufen, müssen Sie keine Abonnement-ID und kein Zugriffstoken angeben. Diese Werte sind automatisch in der CLI enthalten.
Testen der Gültigkeit Ihrer Verschiebung
Sehen wir uns den Vorgang zur Validierung einer Verschiebung über die REST-API im Allgemeinen an.
Sie können eine POST-Anforderung mit folgenden Angaben senden:
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
Der Text dieser POST-Anforderung muss folgende Informationen beinhalten:
{
"resources": ["<your-resource-id-1>", "<your-resource-id-2>", "<your-resource-id-3>"],
"targetResourceGroup": "/subscriptions/<your-subscription-id>/resourceGroups/<your-target-group>"
}
Sie können die POST-Anforderung mit dem korrekten Text über die Azure CLI übermitteln, indem Sie folgenden Befehl ausführen:
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
Wenn Ihre Anforderung akzeptiert wird, gibt die API den Statuscode 202 zurück:
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 diesem Stadium zeigt die Antwort, dass die API Ihre Anforderung akzeptiert, aber sie hat noch nicht überprüft, ob Ihre Verschiebung erfolgreich sein wird. Die Antwort enthält eine URL des Speicherorts. Verwenden Sie diese Standort-URL, um Ihre Verschiebung zu testen. Warten Sie für die im Wert retry-after
der Anforderungsvalidierung angezeigte Dauer, bevor Sie den Validierungstest durchführen. In diesem Beispiel lautet der Wert „15 Sekunden“.
Nachdem Sie die angegebene Zeit gewartet haben, senden Sie eine GET-Anforderung an die Standort-URL:
GET <location-url>
Authorization: Bearer <your-access-token>
Sie können die GET-Anforderung über die Azure CLI übermitteln, indem Sie folgenden Befehl ausführen:
az rest --method get --uri <location-url>
Wenn Ihre Verschiebung als erfolgreich bestätigt wird, erhalten Sie den Statuscode 204. Andernfalls erhalten Sie die folgende Fehlermeldung, die anzeigt, dass Ihre Verschiebung nicht erfolgreich sein wird:
{"error":{"code":"ResourceMoveProviderValidationFailed","message":"<message>"...}}