En esta página, se describe cómo cambiar la clase de almacenamiento de los objetos dentro de un bucket mediante la reescritura del objeto.
- Para aprender a cambiar las clases de almacenamiento de objetos sin reescribir un objeto, consulta la función Administración del ciclo de vida de los objetos.
- Para obtener información sobre cómo Cloud Storage puede administrar automáticamente las clases de almacenamiento de tu objeto, consulta la función Clase automática.
Roles obligatorios
Para obtener los permisos necesarios para cambiar la clase de almacenamiento de
un objeto a través de la reescritura del objeto, pídele a tu administrador que te otorgue el
rol de usuario de objetos de almacenamiento (roles/storage.objectUser
) en el bucket.
Este rol contiene los permisos necesarios para cambiar la clase de almacenamiento de un objeto. Para ver los permisos exactos que son necesarios, expande la sección Permisos necesarios:
Permisos necesarios
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 para otorgar roles a los buckets, consulta Usa IAM con buckets.
Cambia la clase de almacenamiento de un objeto
Completa los siguientes pasos para cambiar la clase de almacenamiento de un objeto:
Console
Las clases de almacenamiento de objetos individuales no se pueden configurar a través de la consola de Google Cloud. 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 bucket que contiene el objeto cuya clase deseas cambiar. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre del objeto al que le quieres cambiar la clase. Por ejemplo,pets/dog.png
STORAGE_CLASS
es la clase de almacenamiento nueva del objeto. Por ejemplo,nearline
.
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializada, lo 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 de JSON con una solicitud de objetoPOST
: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 de acceso del archivo JSON que creaste en el paso 2.BUCKET_NAME
es el nombre del bucket que contiene el objeto original. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre codificado en URL del objeto. Por ejemplo,pets/dog.png
, codificado en URL comopets%2Fdog.png
.
API de XML
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API de XML con una solicitud de objetoPUT
: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 de acceso local al objeto del que quieres cambiar la clase de almacenamiento (debes volver a subir el objeto cuando cambies la clase de almacenamiento con la API de XML). Por ejemplo,Desktop/dog.png
OBJECT_CONTENT_TYPE
es el tipo de contenido del objeto. Por ejemplo,image/png
.STORAGE_CLASS
es la clase de almacenamiento nueva del objeto. Por ejemplo,nearline
.BUCKET_NAME
es el nombre del bucket que contiene el objeto que reescribes. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre codificado en URL del objeto que deseas volver a escribir. Por ejemplo,pets/dog.png
, codificado en URL comopets%2Fdog.png
.
¿Qué sigue?
- Obtén información sobre las clases de almacenamiento disponibles.
- Cambia las clases de almacenamiento de los objetos con la administración del ciclo de vida de los objetos.
- Explora otras características del ciclo de vida de los datos de Cloud Storage.
- Obtén información sobre los metadatos de los objetos.
- Aprende a usar condiciones previas de solicitud para evitar las condiciones de carrera.