Usar operações de longa duração no Cloud Storage

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 chamar gcloud 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 chamar gcloud 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.