Nesta página, descrevemos como gerenciar o ciclo de vida de uma operação de longa duração (LRO, na sigla em inglês) da API Financial Services.
As operações de longa duração são retornadas quando as chamadas
de método podem levar muito tempo para serem concluídas. Por exemplo, a API Financial Services
cria uma LRO sempre que você chama
projects.locations.instances.create
.
A LRO rastreia o status do job de processamento.
Use os métodos projects.locations.operations
fornecidos pela API Financial Services para verificar o status das LROs. Também é possível listar, cancelar
ou excluir LROs.
As LROs são gerenciadas no nível do projeto e do local do Google Cloud. Ao fazer uma solicitação à API, inclua o projeto do Google Cloud e o local em que a LRO está sendo executada.
O registro de uma LRO é mantido por aproximadamente 30 dias após a conclusão da LRO. Não é possível exibir nem listar uma LRO depois disso.
Receber detalhes sobre uma operação de longa duração
Suponha que você criou uma instância.
O valor name
na resposta mostra que a API Financial Services criou uma LRO chamada projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
.
Use o método projects.locations.operations.get
para verificar se a instância foi criada. Se a resposta contiver
"done": false
, repita o comando até que a resposta contenha "done": true
.
Esta operação leva alguns minutos para ser concluída.
Também é possível recuperar o nome da LRO listando operações de longa duração.
Antes de usar os dados da solicitação, faça as substituições a seguir:
PROJECT_ID
: o ID do projeto do Google Cloud listado nas Configurações do IAMLOCATION
: o local da instância. Use uma das regiões compatíveis. Mostrar locaisus-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
OPERATION_ID
: o identificador da operação.
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte 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
execute o seguinte 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
Você receberá uma resposta JSON semelhante a esta:
{ "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" } }
Listar operações de longa duração
Use o método
projects.locations.operations.list
para listar todas as operações em um determinado local.
Antes de usar os dados da solicitação, faça as substituições a seguir:
PROJECT_ID
: o ID do projeto do Google Cloud listado nas Configurações do IAMLOCATION
: o local das operações. Use uma das regiões compatíveisMostrar locaisus-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations"
PowerShell
execute o seguinte 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
Você receberá uma resposta JSON semelhante a esta:
{ "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 uma operação de longa duração
Use o método
projects.locations.operations.cancel
para iniciar o cancelamento assíncrono em uma operação de longa duração. O
servidor faz o possível para cancelar a operação, mas o sucesso não é
garantido.
Antes de usar os dados da solicitação, faça as substituições a seguir:
PROJECT_ID
: o ID do projeto do Google Cloud listado nas Configurações do IAMLOCATION
: o local da operação. Use uma das regiões compatíveis. Mostrar locaisus-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
OPERATION_ID
: o identificador da operação.
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte 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
execute o seguinte 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
Você receberá uma resposta JSON semelhante a esta:
{}
Excluir uma operação de longa duração
Use o método
projects.locations.operations.delete
para excluir uma operação concluída de longa duração. Esse método indica que
o cliente não está mais interessado no resultado da operação. Isso não cancela a operação.
Antes de usar os dados da solicitação, faça as substituições a seguir:
PROJECT_ID
: o ID do projeto do Google Cloud listado nas Configurações do IAMLOCATION
: o local da operação. Use uma das regiões compatíveis. Mostrar locaisus-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
OPERATION_ID
: o identificador da operação.
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte 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
execute o seguinte 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
Você receberá uma resposta JSON semelhante a esta:
{}