Auf dieser Seite wird beschrieben, wie Sie den Lebenszyklus eines Long-Running-Vorgangs (Long-Running Operation, LRO) einer Financial Services API verwalten.
Lang andauernde Vorgänge werden zurückgegeben, wenn Methodenaufrufe sehr lange dauern können. Die Financial Services API erstellt beispielsweise bei jedem Aufruf von projects.locations.instances.create
einen LRO.
Der LRO verfolgt den Status des Verarbeitungsjobs.
Sie können die projects.locations.operations
-Methoden der Financial Services API verwenden, um den Status von LROs zu prüfen. Sie können LROs auch auflisten, stornieren oder löschen.
LROs werden auf Projekt- und Standortebene von Google Cloud verwaltet. Geben Sie bei einer Anfrage an die API das Google Cloud-Projekt und den Standort an, an dem der LRO ausgeführt wird.
Die Aufzeichnung eines LRO wird etwa 30 Tage nach Ende des Vorgangs gespeichert. Danach können Sie den LRO nicht mehr aufrufen oder auflisten.
Details zu einem Vorgang mit langer Ausführungszeit abrufen
Angenommen, Sie haben eine Instanz erstellt.
Der Wert name
in der Antwort gibt an, dass die Financial Services API einen LRO mit dem Namen projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
erstellt hat.
Prüfen Sie mit der Methode projects.locations.operations.get
, ob die Instanz erstellt wurde. Wenn die Antwort "done": false
enthält, wiederholen Sie den Befehl, bis die Antwort "done": true
enthält.
Dieser Vorgang kann einige Minuten dauern.
Sie können den Namen des LRO auch abrufen, indem Sie lang laufende Vorgänge auflisten.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
PROJECT_ID
: Ihre Google Cloud-Projekt-ID, die in den IAM-Einstellungen aufgeführt istLOCATION
: der Standort der Instanz. Verwenden Sie eine der unterstützten Regionen:us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
OPERATION_ID
: die ID für den Vorgang
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"
PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.Instance", "name": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "state": "ACTIVE", "kmsKey": "projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING_ID/cryptoKeys/KEY_ID" } }
Lange laufende Vorgänge auflisten
Verwenden Sie die Methode projects.locations.operations.list
, um alle Vorgänge an einem bestimmten Ort aufzulisten.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
PROJECT_ID
: Ihre Google Cloud-Projekt-ID, die unter IAM-Einstellungen aufgeführt istLOCATION
: der Standort der Vorgänge. Verwenden Sie eine der unterstützten Regionen:us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations"
PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "operations": [ { "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/engineConfigs/ENGINE_CONFIG_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }, { "name": "projects/PROJECT_ID/locations/LOCATION/operations/my-other-operation", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.Instance", "name": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "state": "ACTIVE", "kmsKey": "projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING_ID/cryptoKeys/KEY_ID" } } ] }
Lange laufenden Vorgang abbrechen
Verwenden Sie die Methode projects.locations.operations.cancel
, um den asynchronen Abbruch eines lang andauernden Vorgangs zu starten. Der Server unternimmt alles, um den Vorgang abzubrechen, aber der Erfolg ist nicht garantiert.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
PROJECT_ID
: Ihre Google Cloud-Projekt-ID, die unter IAM-Einstellungen aufgeführt istLOCATION
: der Standort des Vorgangs. Verwenden Sie eine der unterstützten Regionen:us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
OPERATION_ID
: die ID für den Vorgang
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID:cancel"
PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID:cancel" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{}
Lange laufenden Vorgang löschen
Löschen Sie mit der Methode projects.locations.operations.delete
einen abgeschlossenen Vorgang mit langer Ausführungszeit. Diese Methode zeigt an, dass der Client nicht mehr am Ergebnis des Vorgangs interessiert ist. Der Vorgang wird nicht abgebrochen.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
PROJECT_ID
: Ihre Google Cloud-Projekt-ID, die unter IAM-Einstellungen aufgeführt istLOCATION
: der Standort des Vorgangs. Verwenden Sie eine der unterstützten Regionen:us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
OPERATION_ID
: die ID für den Vorgang
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"
PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{}