Gestione delle operazioni a lunga esecuzione

Questa pagina descrive come gestire il ciclo di vita di un'operazione a lunga esecuzione (LRO) dell'API Financial Services.

Le operazioni a lunga esecuzione vengono restituite quando il completamento delle chiamate di metodo 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 forniti dall'API Financial Services per controllare lo stato degli LRO. Puoi anche elencare, annullare o eliminare gli LRO.

Gli LRO sono gestiti a livello di progetto e località Google Cloud. Quando effettui una richiesta all'API, includi il progetto Google Cloud e la località in cui è in esecuzione l'LRO.

Il record di una LRO viene conservato per circa 30 giorni dopo il termine dell'LRO. Non potrai visualizzare o elencare un LRO dopo quel punto.

Recupero dei dettagli su un'operazione a lunga esecuzione

Supponi di aver 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. Questa operazione può richiedere alcuni minuti.

Puoi anche recuperare il nome LRO elencando le operazioni a lunga esecuzione.

Prima di utilizzare qualsiasi dato della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: il tuo ID progetto Google Cloud elencato nelle impostazioni IAM
  • LOCATION: la località dell'istanza; utilizza una delle regioni supportate:
    • us-central1
    • us-east1
    • europe-west1
    • europe-west2
    • europe-west4
    • southamerica-east1
  • OPERATION_ID: l'identificatore dell'operazione

Per inviare la richiesta, espandi una di queste opzioni:

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": 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"
  }
}

Elenca operazioni a lunga esecuzione

Utilizza il metodo projects.locations.operations.list per elencare tutte le operazioni in una determinata località.

Prima di utilizzare qualsiasi dato della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: il tuo ID progetto Google Cloud elencato nelle impostazioni IAM
  • LOCATION: la località delle operazioni; utilizza una delle regioni supportate:
    • us-central1
    • us-east1
    • europe-west1
    • europe-west2
    • europe-west4
    • southamerica-east1

Per inviare la richiesta, espandi una di queste opzioni:

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": 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"
      }
    }
  ]
}

Annulla un'operazione a lunga esecuzione

Utilizza il metodo projects.locations.operations.cancel per avviare l'annullamento asincrono su un'operazione a lunga esecuzione. Il server fa il possibile per annullare l'operazione, ma l'esito non è garantito.

Prima di utilizzare qualsiasi dato della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: il tuo ID progetto Google Cloud elencato nelle impostazioni IAM
  • LOCATION: località dell'operazione; utilizza una delle regioni supportate:
    • us-central1
    • us-east1
    • europe-west1
    • europe-west2
    • europe-west4
    • southamerica-east1
  • OPERATION_ID: l'identificatore dell'operazione

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{}

Elimina un'operazione a lunga esecuzione

Utilizza il metodo projects.locations.operations.delete per eliminare un'operazione a lunga esecuzione completata. Questo metodo indica che il client non è più interessato al risultato dell'operazione. L'operazione non viene annullata.

Prima di utilizzare qualsiasi dato della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: il tuo ID progetto Google Cloud elencato nelle impostazioni IAM
  • LOCATION: località dell'operazione; utilizza una delle regioni supportate:
    • us-central1
    • us-east1
    • europe-west1
    • europe-west2
    • europe-west4
    • southamerica-east1
  • OPERATION_ID: l'identificatore dell'operazione

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{}