Nesta página, descrevemos como usar operações de longa duração que são iniciadas com o uso de chamadas de método no Cloud Storage. Para informações sobre a semântica de uma operação de longa duração, incluindo quais solicitações podem ser executadas na operação de longa duração, consulte a documentação específica do recurso.
Para informações gerais sobre como gerenciar operações de longa duração, consulte a
documentação do gcloud storage operations
.
Acessar os detalhes de uma operação de longa duração
Para ver detalhes ou verificar o status de uma operação de longa duração, use o
comando gcloud storage operations describe
:
gcloud storage operations describe projects/_/buckets/BUCKET_NAME/operations/OPERATION_ID
Substitua:
BUCKET_NAME
com o nome do bucket que contém a operação de longa duração. Por exemplo,my-bucket
.OPERATION_ID
pelo ID da operação de longa duração que é retornada na resposta dos métodos que você chama. Por exemplo, a resposta a seguir é retornada ao chamargcloud storage restore
e o ID da operação de longa duração éBcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
:Created: projects/_/buckets/my-bucket/operations/BcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
Listar as operações de longa duração em um bucket
Para listar as operações de longa duração em um bucket, use o
comando gcloud storage operations list
:
gcloud storage operations list gs://BUCKET_NAME
Substitua:
BUCKET_NAME
com o nome do bucket que contém as operações de longa duração. Por exemplo,my-bucket
.
Cancelar uma operação de longa duração
Para cancelar uma operação de longa duração, use o
comando gcloud storage operations cancel
:
gcloud storage operations cancel projects/_/buckets/BUCKET_NAME/operations/OPERATION_ID
Substitua:
BUCKET_NAME
com o nome do bucket que contém a operação de longa duração. Por exemplo,my-bucket
.OPERATION_ID
pelo ID da operação de longa duração que é retornada na resposta dos métodos que você chama. Por exemplo, a resposta a seguir é retornada ao chamargcloud storage restore
e o ID da operação de longa duração éBcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
:Created: projects/_/buckets/my-bucket/operations/BcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
Tratamento de erros
Operações de longa duração são iniciadas em APIs assíncronas e exigem práticas de tratamento de erros diferentes das APIs síncronas. Ao contrário das APIs síncronas, a resposta a chamadas de API assíncronas pode indicar sucesso mesmo se as operações de longa duração acabarem falhando. Em vez de depender do código do status retornado nos cabeçalhos de resposta, analise os metadados de operações de longa duração no corpo da resposta para determinar se uma chamada de API foi bem-sucedida.
Por exemplo, se você fizer uma solicitação de restauração em massa de exclusão reversível, ela
vai retornar um código de status HTTP bem-sucedido (200 OK
), mesmo que um erro ocorra
durante a operação. Para verificar se a operação de restauração
em massa foi bem-sucedida, consulte o status da operação de longa duração.
Observe que as APIs de operação de longa duração (Get, List, Cancel) são síncronas e retornam erros normais.