Activa un bucket de Cloud Storage con Cloud Storage FUSE

Aprende a activar un bucket de Cloud Storage como un sistema de archivos local mediante Cloud Storage FUSE para que puedas interactuar con los objetos mediante la semántica del sistema de archivos estándar.

En este instructivo, completarás las siguientes tareas:

  • Instalar Cloud Storage FUSE en Debian o Ubuntu

  • Activar el bucket como una carpeta en la máquina

  • Subir un objeto al bucket

Usarás Google Cloud CLI para crear y administrar el objeto en tu bucket de almacenamiento y usarás la CLI de gcsfuse para activar tu bucket en tu máquina.

Antes de comenzar

Para configurar un proyecto, completa los siguientes pasos:

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, click Create project to begin creating a new Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Make sure that you have the following role or roles on the project: Storage Admin (roles/storage.admin), Storage Bucket Viewer (roles/storage.bucketViewer)

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Ir a IAM
    2. Selecciona el proyecto.
    3. Haz clic en Grant access.
    4. En el campo Principales nuevas, ingresa tu identificador de usuario. Esta suele ser la dirección de correo electrónico de una Cuenta de Google.

    5. En la lista Seleccionar un rol, elige un rol.
    6. Para otorgar funciones adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.
    7. Haz clic en Guardar.
  5. Install the Google Cloud CLI.

  6. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  7. To initialize the gcloud CLI, run the following command:

    gcloud init
  8. In the Google Cloud console, on the project selector page, click Create project to begin creating a new Google Cloud project.

    Go to project selector

  9. Make sure that billing is enabled for your Google Cloud project.

  10. Make sure that you have the following role or roles on the project: Storage Admin (roles/storage.admin), Storage Bucket Viewer (roles/storage.bucketViewer)

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Ir a IAM
    2. Selecciona el proyecto.
    3. Haz clic en Grant access.
    4. En el campo Principales nuevas, ingresa tu identificador de usuario. Esta suele ser la dirección de correo electrónico de una Cuenta de Google.

    5. En la lista Seleccionar un rol, elige un rol.
    6. Para otorgar funciones adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.
    7. Haz clic en Guardar.
  11. Install the Google Cloud CLI.

  12. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  13. To initialize the gcloud CLI, run the following command:

    gcloud init
  14. Debes tener un bucket de Cloud Storage que desees activar. Si todavía no tienes uno, crea un bucket nuevo.
  15. Instala Cloud Storage FUSE

    Para instalar Cloud Storage FUSE, completa las siguientes instrucciones con tu shell local en Debian o Ubuntu:

    1. Agrega la URL de distribución de Cloud Storage FUSE como fuente de paquetes:

      export GCSFUSE_REPO=gcsfuse-`lsb_release -c -s`
      echo "deb https://packages.cloud.google.com/apt $GCSFUSE_REPO main" | sudo tee /etc/apt/sources.list.d/gcsfuse.list
    2. Importa la clave pública del repositorio de Google Cloud APT:

      curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
    3. Actualiza la lista de paquetes disponibles:

      sudo apt-get update
    4. Instala Cloud Storage FUSE y su dependencia de FUSE:

      sudo apt-get install fuse gcsfuse
    5. Cuando se te solicite, presiona Intro para confirmar.

    6. Confirma que Cloud Storage FUSE se haya instalado:

      gcsfuse -v

      Si se completa correctamente, el comando muestra un resultado similar al siguiente:

      gcsfuse version 0.41.12 (Go version go1.18.4)

    Activa el bucket

    Para activar el bucket en tu sistema de archivos local, completa los siguientes pasos:

    1. Genera las credenciales predeterminadas de la aplicación con el comando gcloud auth application-default login:

      gcloud auth application-default login

      Cloud Storage FUSE carga de forma automática las credenciales.

    2. Crea un directorio para activar el bucket de almacenamiento:

      mkdir "$HOME/mount-folder"
    3. Activa el depósito de almacenamiento con el comando gcsfuse:

      gcsfuse BUCKET_NAME "$HOME/mount-folder"

      Reemplaza BUCKET_NAME por el nombre del bucket que desees activar.

      Si se completa correctamente, el comando muestra un resultado que contiene un texto similar al siguiente:

      File system has been successfully mounted.

    Sube un objeto al bucket

    Para descargar un objeto de ejemplo y subirlo al bucket activado, completa los siguientes pasos:

    La imagen de un gatito que se subirá al bucket

    1. Haz clic con el botón derecho en la imagen y guárdala en algún lugar de tu computadora, como el escritorio.

      También puedes descargar la imagen con el comando cURL curl -O https://cloud.google.com/storage/images/kitten.png.

    2. Copia la imagen de su ubicación guardada en la carpeta en la que está activado el bucket con el comando cp:

      cp kitten.png "$HOME/mount-folder/kitten.png"
    3. Para verificar que la imagen se haya copiado a tu sistema de archivos local y que se haya subido al bucket de manera correcta, sigue los pasos a continuación:

      1. Para verificar que kitten.png se haya copiado en tu sistema de archivos local, ejecuta ls en la carpeta en la que está activado tu bucket:

        ls "$HOME/mount-folder"

        Si la operación de copia se realizó de forma correcta, se muestra kitten.png en el resultado.

      2. Para enumerar el contenido de tu bucket, usa el comando gcloud storage ls:

        gcloud storage ls gs://BUCKET_NAME

        Reemplaza BUCKET_NAME con el nombre de tu bucket:

        Si la imagen se subió de forma correcta a tu bucket, se muestra kitten.png en el resultado.

    Limpia

    Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página, borra los recursos siguiendo estos pasos:

    1. Desactiva el bucket de almacenamiento desde tu máquina Linux con la herramienta fusermount:

      fusermount -u "$HOME/mount-folder"
    2. Para borrar el bucket y su contenido, usa el comando gcloud storage rm con la marca --recursive:

      gcloud storage rm gs://BUCKET_NAME --recursive

      Reemplaza BUCKET_NAME con el nombre de tu bucket:

      Si se completa correctamente, el comando muestra un resultado similar al siguiente:

      Removing gs://my-bucket/kitten.png#1676488739323620...
       Removing gs://my-bucket/...

    ¿Qué sigue?