Gestione delle operazioni a lunga esecuzione

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 IAM
  • LOCATION: la località dell'istanza; usa uno dei seguenti il regioni supportate
    Sedi dei negozi
    • 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 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 IAM
  • LOCATION: la località delle operazioni; utilizza una delle regioni supportate
    Sedi dei negozi
    • us-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 IAM
  • LOCATION: la località dell'operazione; usa uno dei regioni supportate
    Sedi dei negozi
    • 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 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 IAM
  • LOCATION: 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:

{}