En esta página, se describe cómo usar operaciones de larga duración que se inician a partir del uso de llamadas de método en Cloud Storage. Para obtener información detallada sobre la semántica de una operación de larga duración, incluidas las solicitudes que se pueden realizar en la operación de larga duración, consulta la documentación específica de la función.
Para obtener información general sobre cómo administrar operaciones de larga duración, consulta la
documentación de gcloud storage operations
.
Obtén los detalles de una operación de larga duración
Para obtener los detalles o verificar el estado de una operación de larga duración, usa el
comando gcloud storage operations describe
:
gcloud storage operations describe projects/_/buckets/BUCKET_NAME/operations/OPERATION_ID
Reemplaza lo siguiente:
BUCKET_NAME
: con el nombre del bucket que contiene la operación de larga duración. Por ejemplo,my-bucket
OPERATION_ID
por el ID de la operación de larga duración, que se muestra en la respuesta de los métodos a los que llamas. Por ejemplo, la siguiente respuesta se muestra cuando se llama agcloud storage restore
y el ID de operación de larga duración esBcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
:Created: projects/_/buckets/my-bucket/operations/BcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
Enumera las operaciones de larga duración de un bucket
Para enumerar las operaciones de larga duración de un bucket, usa el comando gcloud storage operations list
:
gcloud storage operations list gs://BUCKET_NAME
Reemplaza lo siguiente:
BUCKET_NAME
: con el nombre del bucket que contiene las operaciones de larga duración. Por ejemplo,my-bucket
Cancelar una operación de larga duración
Para cancelar una operación de larga duración, usa el comando gcloud storage operations cancel
:
gcloud storage operations cancel projects/_/buckets/BUCKET_NAME/operations/OPERATION_ID
Reemplaza lo siguiente:
BUCKET_NAME
: con el nombre del bucket que contiene la operación de larga duración. Por ejemplo,my-bucket
OPERATION_ID
por el ID de la operación de larga duración, que se muestra en la respuesta de los métodos a los que llamas. Por ejemplo, la siguiente respuesta se muestra cuando se llama agcloud storage restore
y el ID de operación de larga duración esBcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
:Created: projects/_/buckets/my-bucket/operations/BcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
Manejo de errores
Las operaciones de larga duración se inician desde las APIs asíncronas y requieren diferentes prácticas de manejo de errores que las de las APIs síncronas. A diferencia de las APIs síncronas, la respuesta a las llamadas a la API asíncronas puede indicar el éxito, incluso si la operación de larga duración falla. En lugar de depender del código de estado que se muestra en los encabezados de respuesta, debes analizar los metadatos de la operación de larga duración en el cuerpo de la respuesta para determinar si una llamada a la API se realizó correctamente.
Por ejemplo, si realizas una solicitud de restablecimiento masivo de la eliminación no definitiva,
se muestra un código de estado HTTP correcto (200 OK
), incluso si se produce un error en
el transcurso de la operación. Para verificar si la operación de restablecimiento
masivo se realizó de forma correcta, consigue el estado de la operación de larga duración.
Ten en cuenta que las APIs de operación de larga duración (Get, List, Cancel) son síncronas y muestran errores normales.