En esta página, se describe cómo administrar el ciclo de vida de una operación de larga duración (LRO) de la API de Financial Services.
Las operaciones de larga duración se muestran cuando las llamadas de método pueden tardar mucho tiempo en completarse. Por ejemplo, la API de Financial Services crea una LRO cada vez que llamas a projects.locations.instances.create
.
La LRO realiza un seguimiento del estado del trabajo de procesamiento.
Puedes usar los métodos projects.locations.operations
que proporciona la API de Financial Services para verificar el estado de las LRO. También puedes enumerar, cancelar o borrar las LRO.
Las LRO se administran a nivel de proyecto y ubicación de Google Cloud. Cuando realices una solicitud a la API, incluye el proyecto de Google Cloud y la ubicación en la que se ejecuta la LRO.
El registro de una LRO se conserva durante aproximadamente 30 días después de que esta finaliza. No podrás ver ni mostrar una LRO después de ese punto.
Obtén detalles sobre una operación de larga duración
Supongamos que creaste una instancia.
El valor name
en la respuesta muestra que la API de Financial Services creó una LRO llamada projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
.
Usa el método projects.locations.operations.get
para verificar si se creó la instancia. Si la respuesta contiene "done": false
, repite el comando hasta que contenga "done": true
.
Esta operación puede tardar unos minutos.
También puedes recuperar el nombre de la LRO si enumeras las operaciones de larga duración.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: Es el ID del proyecto de Google Cloud que aparece en la configuración de IAM.LOCATION
: Es la ubicación de la instancia. Usa una de las regiones compatibles:us-central1
us-east1
europe-west1
europe-west2
europe-west4
southamerica-east1
OPERATION_ID
: Es el identificador de la operación.
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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" } }
Enumerar las operaciones de larga duración
Usa el método projects.locations.operations.list
para enumerar todas las operaciones de una ubicación determinada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: Es tu ID de tu proyecto de Google Cloud que aparece en Configuración de IAM.LOCATION
: Es la ubicación de las operaciones. Usa una de las regiones compatibles:us-central1
us-east1
europe-west1
europe-west2
europe-west4
southamerica-east1
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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" } } ] }
Cancelar una operación de larga duración
Usa el método projects.locations.operations.cancel
para iniciar la cancelación asíncrona de una operación de larga duración. El servidor hace su mejor esfuerzo para cancelar la operación, pero el éxito no está garantizado.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: Es tu ID de tu proyecto de Google Cloud que aparece en Configuración de IAM.LOCATION
: Es la ubicación de la operación. Usa una de las regiones compatibles:us-central1
us-east1
europe-west1
europe-west2
europe-west4
southamerica-east1
OPERATION_ID
: Es el identificador de la operación.
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{}
Borrar una operación de larga duración
Usa el método projects.locations.operations.delete
para borrar una operación de larga duración completada. Este método indica que el cliente ya no está interesado en el resultado de la operación. No cancela la operación.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: Es tu ID de tu proyecto de Google Cloud que aparece en Configuración de IAM.LOCATION
: Es la ubicación de la operación. Usa una de las regiones compatibles:us-central1
us-east1
europe-west1
europe-west2
europe-west4
southamerica-east1
OPERATION_ID
: Es el identificador de la operación.
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{}