Questa pagina descrive come gestire il ciclo di vita di un'API Financial Services un'operazione a lunga esecuzione (LRO).
Le operazioni a lunga esecuzione vengono restituite quando il metodo
il completamento delle chiamate potrebbe richiedere molto tempo. Ad esempio, l'API Financial Services
crea un LRO ogni volta che chiami
projects.locations.instances.create
L'LRO monitora lo stato del job di elaborazione.
Puoi utilizzare i metodi projects.locations.operations
fornita dall'API Financial Services per controllare lo stato di
LRO Puoi anche elencare, annullare o eliminare le richieste di eliminazione.
Le richieste di accesso a livello di organizzazione vengono gestite a livello di progetto e località Google Cloud. Quando effettui una richiesta all'API, includi il progetto Google Cloud e la località in cui viene eseguito l'LRO.
Il registro di un LRO viene conservato per circa 30 giorni dopo l'LRO finiture in cui sono finite. Non potrai visualizzare o elencare un LRO successivamente.
Visualizza i dettagli di un'operazione a lunga esecuzione
Supponiamo che tu abbia creato un'istanza.
Il valore name
nella risposta indica che l'API Financial Services
ha creato un LRO denominato projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
.
Utilizza il metodo
projects.locations.operations.get
per verificare se l'istanza è stata creata. Se la risposta contiene
"done": false
, ripeti il comando finché la risposta non contiene "done": true
.
Il completamento dell'operazione può richiedere alcuni minuti.
Puoi anche recuperare il nome dell'operazione a lunga esecuzione elencando le operazioni a lunga esecuzione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: l'ID del tuo progetto Google Cloud elencato nelle Impostazioni IAMLOCATION
: la località dell'istanza; usa uno dei seguenti il regioni supportateSedi dei negozius-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
OPERATION_ID
: l'identificatore dell'operazione
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
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
Esegui questo comando:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": "2023-03-14T15:52:55.358979323Z", "endTime": "2023-03-14T16:52:55.358979323Z", "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" } }
Elenca le operazioni a lunga esecuzione
Utilizza il metodo
projects.locations.operations.list
per elencare tutte le operazioni in una determinata posizione.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud elencato in le impostazioni IAMLOCATION
: la località delle operazioni; utilizza una delle regioni supportateSedi dei negozius-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations"
PowerShell
Esegui questo comando:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
{ "operations": [ { "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": "2023-03-14T15:52:55.358979323Z", "endTime": "2023-03-14T16:52:55.358979323Z", "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" } } ] }
Annullare un'operazione a lunga esecuzione
Utilizza il metodo
projects.locations.operations.cancel
per avviare l'annullamento asincrono di un'operazione a lunga esecuzione. Il
server fa del suo meglio per annullare l'operazione, ma il risultato positivo non è
garantito.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: l'ID del tuo progetto Google Cloud elencato nelle Impostazioni IAMLOCATION
: la località dell'operazione; usa uno dei regioni supportateSedi dei negozius-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
OPERATION_ID
: l'identificatore dell'operazione
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
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
Esegui questo comando:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
{}
Elimina un'operazione a lunga esecuzione
Utilizza la
projects.locations.operations.delete
per eliminare un'operazione a lunga esecuzione completata. Questo metodo indica che
il cliente non è più interessato al risultato dell'operazione. Non annulla
l'operazione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud elencato in le impostazioni IAMLOCATION
: la località dell'operazione. Utilizza una delle regioni supportate.Mostra localitàus-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
OPERATION_ID
: l'identificatore dell'operazione
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
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
Esegui questo comando:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
{}