Subir y descargar objetos de almacenamiento

El almacenamiento de objetos en Google Distributed Cloud (GDC) aislado te permite transferir y recuperar archivos, directorios y datos con control de versiones en buckets con alcance de proyecto. Puedes ejecutar operaciones de un solo archivo o de varias partes a través de la consola de GDC o la CLI de gdcloud, y proteger objetos con encriptación personalizada de AEADKey.

Antes de comenzar

Los buckets de almacenamiento son recursos con alcance para un proyecto específico. El proyecto actúa como un contenedor, agrupa tus buckets y habilita su administración a través del servidor de la API de Management. Antes de realizar las operaciones de esta página, debes crear un proyecto nuevo o seleccionar uno existente en el que tengas los permisos suficientes.

Roles de IAM obligatorios

Comunícate con el administrador de IAM de tu proyecto para solicitar los siguientes roles en el espacio de nombres del proyecto:

  • Administrador de buckets del proyecto (project-bucket-admin): Crea, actualiza y borra buckets de almacenamiento.
  • Visualizador de objetos de bucket del proyecto (project-bucket-object-viewer): Permite ver y verificar los detalles de los buckets y objetos de almacenamiento.

Para obtener más información, consulta Otorga acceso al bucket.

Prepara el entorno

Para ejecutar comandos en el servidor de la API de administración o en el servidor de la API global, haz lo siguiente:

  1. Accede y genera el archivo kubeconfig para el servidor de la API de administración zonal si no tienes uno.
  2. Para los buckets de zona doble, haz lo siguiente:
    • Verifica con tu operador de infraestructura (IO) que se haya creado el recurso personalizado BucketLocationConfig para tus zonas vinculadas.
    • Genera el archivo kubeconfig para el servidor de la API global.

Lineamientos para asignar nombres de objetos

Usa los siguientes lineamientos para asignar nombres a los objetos:

  • Usa caracteres UTF-8 cuando asignes nombres a los objetos.
  • Tener entre 1 y 55 caracteres.
  • No incluyas información de identificación personal (PII).

Sube objetos a buckets de almacenamiento

Console

  1. En el menú de navegación, haz clic en Almacenamiento de objetos.
  2. Haz clic en el nombre del bucket al que deseas subir el objeto.
  3. Opcional: Si quieres crear una carpeta para almacenar tu objeto, haz clic en Crear carpeta > ingresa un nombre de carpeta > haz clic en Crear.
  4. Haz clic en Subir archivo directamente o navega a la carpeta que acabas de crear y, luego, haz clic en Subir archivo.
  5. Selecciona el archivo que quieras y haz clic en Abrir.
  6. Espera el mensaje de confirmación de que la carga se realizó correctamente.

gdcloud

Para subir un objeto, ejecuta los siguientes comandos:

gdcloud storage cp LOCAL_PATH s3://REMOTE_PATH
gdcloud storage cp s3://FULLY_QUALIFIED_SOURCE_BUCKET_NAME s3://FULLY_QUALIFIED_DESTINATION_BUCKET_NAME
gdcloud storage mv s3://FULLY_QUALIFIED_SOURCE_BUCKET_NAME s3://FULLY_QUALIFIED_DESTINATION_BUCKET_NAME

Los siguientes comandos requieren el FULLY_QUALIFIED_BUCKET_NAME. Usa el comando GET o DESCRIBE de la sección Visualiza la configuración del bucket para obtener el nombre completamente calificado del bucket.

Con el siguiente comando, se suben todos los archivos de texto del directorio local a un bucket:

gdcloud storage cp *.txt s3://FULLY_QUALIFIED_BUCKET_NAME

Con el siguiente comando, se suben varios archivos del directorio local a un bucket:

gdcloud storage cp abc1.txt abc2.txt s3://FULLY_QUALIFIED_BUCKET_NAME

Para subir una carpeta a un bucket, usa la opción --recursive para copiar un árbol de directorios completo. El siguiente comando sube el árbol de directorios dir:

gdcloud storage cp DIRECTORY_NAME s3://FULLY_QUALIFIED_BUCKET_NAME --recursive

Realiza cargas de varias partes para objetos grandes o usa cargas de varias partes automáticamente cuando tengas que subir un archivo de más de 15 MB. En ese caso, el archivo se divide en varias partes, cada una de 15 MB. La última parte es más pequeña. Cada parte se sube por separado y se reconstruye en el destino cuando se completa la transferencia.

Si falla la carga de una parte, puedes reiniciarla sin afectar ninguna de las otras partes que ya se subieron.

Existen dos opciones relacionadas con las cargas de varias partes:

  • --disable-multipart: Inhabilita las cargas multiparte para todos los archivos.
  • --multipart-chunk-size-mb=SIZE: Establece el tamaño de cada fragmento de una carga de varias partes.

Los archivos de más de SIZE se suben automáticamente como archivos de varios subprocesos y varias partes. Los archivos más pequeños se suben con el método tradicional. SIZE se expresa en megabytes. El tamaño predeterminado de los fragmentos es de 15 MB. El tamaño mínimo permitido de los fragmentos es de 5 MB, y el máximo es de 5 GB.

Descarga objetos de buckets de almacenamiento

Console

  1. En el menú de navegación, haz clic en Almacenamiento de objetos.
  2. Haz clic en el nombre del bucket que contiene los objetos.
  3. Selecciona la casilla de verificación junto al nombre del objeto que deseas descargar.
  4. Haz clic en Descargar.

gdcloud

Para obtener objetos del bucket, haz lo siguiente:

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/OBJECT LOCAL_FILE_TO_SAVE

Para descargar todos los archivos de texto de un bucket a tu directorio actual, haz lo siguiente:

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/*.txt .

Para descargar el archivo de texto abc.txt de un bucket a tu directorio actual, haz lo siguiente:

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt .

Para descargar una versión anterior del archivo, primero obtén una lista de todas las versiones del archivo:

gdcloud storage ls s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt --all-versions

Resultado de ejemplo:

s3://my-bucket/abc.txt#OEQxNTk4MUEtMzEzRS0xMUVFLTk2N0UtQkM4MjAwQkJENjND
s3://my-bucket/abc.txt#ODgzNEYzQ0MtMzEzRS0xMUVFLTk2NEItMjI1MTAwQkJENjND
s3://my-bucket/abc.txt#ODNCNDEzNzgtMzEzRS0xMUVFLTlDOUMtQzRDOTAwQjg3RTg3

Luego, descarga una versión específica del archivo de texto abc.txt del bucket a tu directorio actual:

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt#OEQxNTk4MUEtMzEzRS0xMUVFLTk2N0UtQkM4MjAwQkJENjND .

Usa una AEADKey personalizada

Para obtener una mayor personalización, puedes crear tu propia AEADKey y usarla directamente cuando encriptes objetos en tu bucket. Esto te brinda control total sobre la clave de encriptación, lo que omite la configuración predeterminada. Sigue las instrucciones de Crea una clave para crear una AEADKey nueva y asegúrate de que esté en la misma Namespace que el bucket que quieres usar. Luego, cada vez que envíes la solicitud, asegúrate de que el HEADER esté configurado con x-amz-server-side-encryption: SSE-KMS y x-amz-server-side-encryption-aws-kms-key-id: NAMESPACE_NAME/AEADKey_NAME.