En esta página se describe cómo usar las retenciones de objetos, incluidas las retenciones predeterminadas de objetos nuevos y las retenciones de objetos concretos.
Permisos obligatorios
Antes de usar esta función en Cloud Storage, debes tener permisos suficientes para ver y actualizar segmentos y objetos en Cloud Storage:
Si eres el propietario del proyecto que contiene el segmento, lo más probable es que tengas los permisos necesarios.
Si usas gestión de identidades y accesos, debes tener los permisos
storage.buckets.update
,storage.buckets.get
,storage.objects.update
ystorage.objects.get
en el segmento correspondiente. Consulta Usar permisos de gestión de identidades y accesos para obtener instrucciones sobre cómo obtener un rol, como Administrador de Storage, que tenga estos permisos.Si usas listas de control de acceso, debes tener el permiso OWNER en el segmento pertinente y en los objetos que contiene. Consulta las instrucciones para configurar ACLs.
Usar la propiedad de retención basada en eventos predeterminada
En las siguientes tareas se muestra cómo definir y ver la propiedad de retención basada en eventos predeterminada de un segmento. Si esta propiedad está habilitada, los objetos nuevos que se añadan al segmento recibirán automáticamente una retención basada en eventos.
Definir la propiedad de retención basada en eventos predeterminada
Para habilitar o inhabilitar la propiedad de retención basada en eventos predeterminada de un segmento, sigue estos pasos:
Consola
- En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.
En la lista de segmentos, haga clic en el nombre del segmento para el que quiera definir la propiedad predeterminada de conservación basada en eventos.
Seleccione la pestaña Protección, situada cerca de la parte superior de la página.
El estado actual del segmento aparece en la sección Opción de retención predeterminada basada en eventos.
En la sección Opción predeterminada de retención basada en eventos, haz clic en el estado actual para cambiarlo.
El estado será Habilitado o Inhabilitado.
Para saber cómo obtener información detallada sobre los errores de las operaciones de Cloud Storage en la consola, consulta la sección Solución de problemas. Google Cloud
Línea de comandos
Usa el comando gcloud storage buckets update
con la marca adecuada:
gcloud storage buckets update gs://BUCKET_NAME FLAG
Donde:
BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.FLAG
es--default-event-based-hold
para habilitar las retenciones de objetos predeterminadas basadas en eventos o--no-default-event-based-hold
para inhabilitarlas.
Bibliotecas de cliente
C++
Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se habilitan las retenciones basadas en eventos predeterminadas en un segmento:
En el siguiente ejemplo se inhabilitan las retenciones predeterminadas basadas en eventos en un segmento:
C#
Para obtener más información, consulta la documentación de referencia de la API C# de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se habilitan las retenciones basadas en eventos predeterminadas en un segmento:
En el siguiente ejemplo se inhabilitan las retenciones predeterminadas basadas en eventos en un segmento:
Go
Para obtener más información, consulta la documentación de referencia de la API Go de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se habilitan las retenciones basadas en eventos predeterminadas en un segmento:
En el siguiente ejemplo se inhabilitan las retenciones predeterminadas basadas en eventos en un segmento:
Java
Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se habilitan las retenciones basadas en eventos predeterminadas en un segmento:
En el siguiente ejemplo se inhabilitan las retenciones predeterminadas basadas en eventos en un segmento:
Node.js
Para obtener más información, consulta la documentación de referencia de la API Node.js de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se habilitan las retenciones basadas en eventos predeterminadas en un segmento:
En el siguiente ejemplo se inhabilitan las retenciones predeterminadas basadas en eventos en un segmento:
PHP
Para obtener más información, consulta la documentación de referencia de la API PHP de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se habilitan las retenciones basadas en eventos predeterminadas en un segmento:
En el siguiente ejemplo se inhabilitan las retenciones predeterminadas basadas en eventos en un segmento:
Python
Para obtener más información, consulta la documentación de referencia de la API Python de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se habilitan las retenciones basadas en eventos predeterminadas en un segmento:
En el siguiente ejemplo se inhabilitan las retenciones predeterminadas basadas en eventos en un segmento:
Ruby
Para obtener más información, consulta la documentación de referencia de la API Ruby de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se habilitan las retenciones basadas en eventos predeterminadas en un segmento:
En el siguiente ejemplo se inhabilitan las retenciones predeterminadas basadas en eventos en un segmento:
APIs REST
API JSON
Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado
Authorization
.Crea un archivo JSON que contenga la siguiente información:
{ "defaultEventBasedHold": STATE }
STATE puede ser
true
ofalse
.Usa
cURL
para llamar a la API JSON con una solicitudPATCH
Bucket:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=defaultEventBasedHold"
Donde:
JSON_FILE_NAME
es la ruta del archivo que has creado en el paso 2.BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.
API XML
La API XML no se puede usar para trabajar con retenciones de objetos. Usa una de las otras herramientas de Cloud Storage, como la CLI de gcloud.
Obtener el estado de retención predeterminado de un segmento
Para ver si un segmento aplica retenciones basadas en eventos a los objetos nuevos de forma predeterminada, siga estos pasos:
Consola
- En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.
En la lista de segmentos, haga clic en el nombre del segmento del que quiera consultar el estado predeterminado basado en eventos.
Seleccione la pestaña Protección, situada cerca de la parte superior de la página.
El estado aparece en la sección Opción de retención predeterminada basada en eventos.
Para saber cómo obtener información detallada sobre los errores de las operaciones de Cloud Storage en la consola, consulta la sección Solución de problemas. Google Cloud
Línea de comandos
Usa el comando gcloud storage buckets describe
con la marca --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(default_event_based_hold)"
Donde BUCKET_NAME
es el nombre del contenedor cuyo estado quieres ver. Por ejemplo, my-bucket
.
Si la solicitud se hace correctamente, la respuesta será similar a la del siguiente ejemplo:
default_event_based_hold: true
Bibliotecas de cliente
C++
Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
C#
Para obtener más información, consulta la documentación de referencia de la API C# de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Go
Para obtener más información, consulta la documentación de referencia de la API Go de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Java
Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Node.js
Para obtener más información, consulta la documentación de referencia de la API Node.js de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
PHP
Para obtener más información, consulta la documentación de referencia de la API PHP de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Python
Para obtener más información, consulta la documentación de referencia de la API Python de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Ruby
Para obtener más información, consulta la documentación de referencia de la API Ruby de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
APIs REST
API JSON
Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API JSON con una solicitudGET
Bucket que incluya elfields
que quieras:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=defaultEventBasedHold"
Donde
BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.Si el segmento tiene habilitada una retención basada en eventos predeterminada, la respuesta será similar al siguiente ejemplo:
{ "defaultEventBasedHold": true }
API XML
La API XML no se puede usar para trabajar con retenciones de objetos. Usa una de las otras herramientas de Cloud Storage, como la CLI de gcloud.
Gestionar retenciones de objetos concretos
En las siguientes tareas se muestra cómo modificar y ver las retenciones de objetos concretos.
Poner o retirar una retención de un objeto
Para retener o liberar un objeto de tu segmento, sigue estos pasos:
Consola
- En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.
En la lista de segmentos, haga clic en el nombre del segmento que contiene los objetos en los que quiere colocar o quitar retenciones.
Seleccione las casillas situadas junto a los nombres de los objetos que quiera retener o liberar.
Haz clic en el botón Gestionar retenciones.
Aparecerá la ventana Gestionar retenciones.
Activa o desactiva las casillas de cada tipo de retención según lo que quieras.
Haz clic en Guardar ajustes de retención.
Para saber cómo obtener información detallada sobre los errores de las operaciones de Cloud Storage en la consola, consulta la sección Solución de problemas. Google Cloud
Línea de comandos
Usa el comando gcloud storage objects update
con la marca adecuada::
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME FLAG
Donde:
BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre del objeto correspondiente. Por ejemplo,pets/dog.png
.FLAG
es uno de los siguientes elementos:--event-based-hold
para habilitar una retención basada en eventos en el objeto.--no-event-based-hold
para inhabilitar cualquier retención basada en eventos en el objeto.--temporary-hold
para habilitar una retención temporal en el objeto.--no-temporary-hold
para inhabilitar cualquier retención temporal en el objeto.
Consulta Retenciones de objetos para obtener más información sobre los tipos de retenciones.
Bibliotecas de cliente
C++
Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se define una retención basada en eventos en un objeto:
En el siguiente ejemplo se retira una retención basada en eventos en un objeto:
En el siguiente ejemplo se define una retención temporal en un objeto:
En el siguiente ejemplo se retira una retención temporal en un objeto:
C#
Para obtener más información, consulta la documentación de referencia de la API C# de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se define una retención basada en eventos en un objeto:
En el siguiente ejemplo se retira una retención basada en eventos en un objeto:
En el siguiente ejemplo se define una retención temporal en un objeto:
En el siguiente ejemplo se retira una retención temporal en un objeto:
Go
Para obtener más información, consulta la documentación de referencia de la API Go de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se define una retención basada en eventos en un objeto:
En el siguiente ejemplo se retira una retención basada en eventos en un objeto:
En el siguiente ejemplo se define una retención temporal en un objeto:
En el siguiente ejemplo se retira una retención temporal en un objeto:
Java
Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se define una retención basada en eventos en un objeto:
En el siguiente ejemplo se retira una retención basada en eventos en un objeto:
En el siguiente ejemplo se define una retención temporal en un objeto:
En el siguiente ejemplo se retira una retención temporal en un objeto:
Node.js
Para obtener más información, consulta la documentación de referencia de la API Node.js de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se define una retención basada en eventos en un objeto:
En el siguiente ejemplo se retira una retención basada en eventos en un objeto:
En el siguiente ejemplo se define una retención temporal en un objeto:
En el siguiente ejemplo se retira una retención temporal en un objeto:
PHP
Para obtener más información, consulta la documentación de referencia de la API PHP de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se define una retención basada en eventos en un objeto:
En el siguiente ejemplo se retira una retención basada en eventos en un objeto:
En el siguiente ejemplo se define una retención temporal en un objeto:
En el siguiente ejemplo se retira una retención temporal en un objeto:
Python
Para obtener más información, consulta la documentación de referencia de la API Python de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se define una retención basada en eventos en un objeto:
En el siguiente ejemplo se retira una retención basada en eventos en un objeto:
En el siguiente ejemplo se define una retención temporal en un objeto:
En el siguiente ejemplo se retira una retención temporal en un objeto:
Ruby
Para obtener más información, consulta la documentación de referencia de la API Ruby de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se define una retención basada en eventos en un objeto:
En el siguiente ejemplo se retira una retención basada en eventos en un objeto:
En el siguiente ejemplo se define una retención temporal en un objeto:
En el siguiente ejemplo se retira una retención temporal en un objeto:
APIs REST
API JSON
Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado
Authorization
.Crea un archivo JSON que contenga la siguiente información:
{ "HOLD_TYPE": STATE }
Donde:
HOLD_TYPE
es el tipo de bloqueo que quieres establecer o quitar en tu objeto. Por ejemplo,temporaryHold
oeventBasedHold
. Consulta Retenciones de objetos para obtener más información sobre los tipos de retenciones.STATE
estrue
para mantener el bloqueo ofalse
para desbloquearlo.
Usa
cURL
para llamar a la API JSON con una solicitud dePATCH
Object:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
Donde:
JSON_FILE_NAME
es la ruta del archivo que has creado en el paso 2.BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre codificado como URL del objeto correspondiente. Por ejemplo,pets/dog.png
, codificada como URLpets%2Fdog.png
.
API XML
La API XML no se puede usar para trabajar con retenciones de objetos. Usa una de las otras herramientas de Cloud Storage, como la CLI de gcloud.
Obtener el estado de retención de un objeto
Para ver si un objeto tiene alguna retención, sigue las instrucciones generales para ver los metadatos de un objeto.
Siguientes pasos
- Más información sobre las retenciones de objetos, incluidos los distintos tipos de retenciones que puede tener un objeto.
- Consulta cómo usar las políticas de conservación.
- Consulta cómo usar las condiciones previas de las solicitudes para evitar las condiciones de carrera.