En esta página se describe cómo cambiar la clase de almacenamiento de los objetos de un segmento reescribiéndolos.
- Para saber cómo cambiar las clases de almacenamiento de objetos sin tener que volver a escribir un objeto, consulta la función Administración del ciclo de vida de los objetos.
- Para saber cómo puede gestionar Cloud Storage automáticamente las clases de almacenamiento de tus objetos, consulta la función Autoclass.
Roles obligatorios
Para obtener los permisos necesarios para cambiar la clase de almacenamiento de un objeto reescribiéndolo, pide a tu administrador que te conceda el rol Usuario de objetos de Storage (roles/storage.objectUser
) en el segmento.
Este rol contiene los permisos necesarios para cambiar la clase de almacenamiento de un objeto. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
También puedes obtener estos permisos con otros roles predefinidos o roles personalizados.
Para obtener instrucciones sobre cómo conceder roles en los contenedores, consulta Usar IAM con contenedores.
Cambiar la clase de almacenamiento de un objeto
Sigue estos pasos para cambiar la clase de almacenamiento de un objeto:
Consola
Las clases de almacenamiento de objetos individuales no se pueden definir a través de la Google Cloud consola. En su lugar, usa Google Cloud CLI.
Línea de comandos
Usa el comando gcloud storage objects update
con la marca --storage-class
. Por ejemplo:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --storage-class=STORAGE_CLASS
Donde:
BUCKET_NAME
es el nombre del contenedor que contiene el objeto cuya clase quieres cambiar. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre del objeto cuya clase quieres cambiar. Por ejemplo,pets/dog.png
.STORAGE_CLASS
es la nueva clase de almacenamiento de tu objeto. Por ejemplo,nearline
.
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
.Crea un archivo JSON que contenga la siguiente información:
{ "storageClass": "STORAGE_CLASS" }
Donde:
STORAGE_CLASS
es la nueva clase de almacenamiento de tu objeto. Por ejemplo,nearline
.
Usa
cURL
para llamar a la API JSON con un objetoPOST
, solicitud:curl -X POST --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/rewriteTo/b/BUCKET_NAME/o/OBJECT_NAME"
Donde:
JSON_FILE_NAME
es la ruta del archivo JSON que has creado en el paso 2.BUCKET_NAME
es el nombre del contenedor que contiene el objeto original. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre codificado como URL del objeto. Por ejemplo,pets/dog.png
, codificada como URLpets%2Fdog.png
.
API XML
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 XML con una solicitud dePUT
Object:curl -X PUT --data-binary @OBJECT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ -H "x-goog-storage-class: STORAGE_CLASS" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Donde:
OBJECT
es la ruta local al objeto cuya clase de almacenamiento quieres cambiar (debes volver a subir el objeto cuando cambies la clase de almacenamiento con la API XML). Por ejemplo,Desktop/dog.png
.OBJECT_CONTENT_TYPE
es el tipo de contenido del objeto. Por ejemplo,image/png
.STORAGE_CLASS
es la nueva clase de almacenamiento de tu objeto. Por ejemplo,nearline
.BUCKET_NAME
es el nombre del segmento que contiene el objeto que vas a reescribir. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre codificado por URL del objeto que estás reescribiendo. Por ejemplo,pets/dog.png
, codificada como URLpets%2Fdog.png
.
Siguientes pasos
- Consulta las clases de almacenamiento disponibles.
- Cambia las clases de almacenamiento de objetos con la gestión del ciclo de vida de los objetos.
- Consulta otras funciones del ciclo de vida de los datos de Cloud Storage.
- Consulta información sobre los metadatos de objetos.
- Consulta cómo usar las condiciones previas de las solicitudes para evitar las condiciones de carrera.