Descubre el almacenamiento de objetos con la herramienta gcloud

En esta página, se muestra cómo realizar tareas básicas en Cloud Storage con la herramienta de línea de comandos de gcloud.

Los costos se generan en Cloud Storage según los recursos que usas. Por lo general, en esta guía de inicio rápido, se usa menos de $0.01 en recursos de Cloud Storage.

Antes de comenzar

  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. Install the Google Cloud CLI.

  3. Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.

  4. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  5. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  6. Verify that billing is enabled for your Google Cloud project.

  7. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/storage.admin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Replace the following:

    • PROJECT_ID: Your project ID.
    • USER_IDENTIFIER: The identifier for your user account. For example, myemail@example.com.
    • ROLE: The IAM role that you grant to your user account.
  8. Install the Google Cloud CLI.

  9. Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.

  10. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  11. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  12. Verify that billing is enabled for your Google Cloud project.

  13. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/storage.admin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Replace the following:

    • PROJECT_ID: Your project ID.
    • USER_IDENTIFIER: The identifier for your user account. For example, myemail@example.com.
    • ROLE: The IAM role that you grant to your user account.
  14. Cree un bucket

    Los buckets son los contenedores básicos que conservan tus datos en Cloud Storage.

    Para crear un bucket, haz lo siguiente:

    1. Abre una ventana de la terminal.
    2. Usa el comando de gcloud storage buckets create y un nombre único para crear un bucket:

      gcloud storage buckets create gs://my-awesome-bucket/ --uniform-bucket-level-access

      Esto usa un bucket llamado “my-awesome-bucket”. Debes elegir tu propio nombre de bucket que sea único a nivel global.

      Si se ejecuta de forma correcta, el comando mostrará lo siguiente:

      Creating gs://my-awesome-bucket/...

    Acabas de crear un bucket para almacenar datos.

    Creating gs://my-awesome-bucket/...
    ServiceException: 409 Bucket my-awesome-bucket already exists.
    

    Vuelve a intentarlo con otro nombre de bucket.

    Suba un objeto a su bucket

    La imagen de un gatito que se subirá al bucket

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

    2. Usa el comando gcloud storage cp para copiar la imagen de la ubicación en la que la guardaste al bucket que creaste:

      gcloud storage cp Desktop/kitten.png gs://my-awesome-bucket

      Si no hay errores, el comando mostrará lo siguiente:

      Copying file://Desktop/kitten.png [Content-Type=image/png]...
      Uploading   gs://my-awesome-bucket/kitten.png:       0 B/164.3 KiB
      Uploading   gs://my-awesome-bucket/kitten.png:       164.3 KiB/164.3 KiB

      Almacenaste un objeto en tu bucket.

    Descarga el objeto del bucket

    1. Usa el comando gcloud storage cp para descargar la imagen que almacenaste en el bucket en algún lugar de tu computadora, como el escritorio:

      gcloud storage cp gs://my-awesome-bucket/kitten.png Desktop/kitten2.png

      Si no hay errores, el comando mostrará lo siguiente:

      Copying gs://my-awesome-bucket/kitten.png...
      Downloading file://Desktop/kitten2.png:               0 B/164.3 KiB
      Downloading file://Desktop/kitten2.png:               164.3 KiB/164.3 KiB

      Descargaste un objeto desde tu bucket.

    Copia el objeto a una carpeta del bucket

    1. Usa el comando gcloud storage cp para crear una carpeta y copiar la imagen en ella:

      gcloud storage cp gs://my-awesome-bucket/kitten.png gs://my-awesome-bucket/just-a-folder/kitten3.png

      Si no hay errores, el comando mostrará lo siguiente:

      Copying gs://my-awesome-bucket/kitten.png [Content-Type=image/png]...
      Copying     ...my-awesome-bucket/just-a-folder/kitten3.png: 164.3 KiB/164.3 KiB

      Acabas de copiar tu imagen en una carpeta nueva del bucket.

    Muestre el contenido de un bucket o una carpeta

    1. Usa el comando gcloud storage ls para mostrar el contenido en el nivel superior del bucket:

      gcloud storage ls gs://my-awesome-bucket

      Si no hay errores, el comando mostrará un mensaje similar a este:

      gs://my-awesome-bucket/kitten.png
      gs://my-awesome-bucket/just-a-folder/

      Ya viste los contenidos en el nivel superior de tu bucket.

    Muestre los detalles de un objeto

    1. Usa el comando gcloud storage ls con la marca --long para obtener detalles sobre una de las imágenes:

      gcloud storage ls gs://my-awesome-bucket/kitten.png --long

      Si no hay errores, el comando mostrará un mensaje similar a este:

      2638  2016-02-26T23:05:14Z  gs://my-awesome-bucket/kitten.png
      TOTAL: 1 objects, 168243.2 bytes (164.3 KiB)

      Acabas de obtener información sobre el tamaño y la fecha de creación de la imagen.

    Haz que los objetos sean de acceso público

    1. Usa el comando gcloud storage buckets add-iam-policy-binding a fin de otorgar a todos los usuarios permiso para leer las imágenes almacenadas en el bucket:

      gcloud storage buckets add-iam-policy-binding gs://my-awesome-bucket --member=allUsers --role=roles/storage.objectViewer

      El comando es exitoso si tu respuesta contiene lo siguiente:

      bindings:
        - members:
          - allUsers
          role: roles/storage.objectViewer
      

      Ahora cualquiera puede obtener las imágenes.

    2. Para quitar este acceso, usa el siguiente comando:

      gcloud storage buckets remove-iam-policy-binding gs://my-awesome-bucket --member=allUsers --role=roles/storage.objectViewer

      El comando resulta exitoso si no se muestra ningún error.

      Quitaste el acceso público a las imágenes del bucket.

    Otorga acceso a tu bucket

    1. Usa el comando gcloud storage buckets add-iam-policy-binding a fin de dar permiso a una dirección de correo electrónico específica para que agregue objetos a tu bucket:

      gcloud storage buckets add-iam-policy-binding gs://my-awesome-bucket --member=user:jeffersonloveshiking@gmail.com --role=roles/storage.objectCreator

      El comando es exitoso si tu respuesta contiene lo siguiente:

      bindings:
        - members:
          - user:jeffersonloveshiking@gmail.com
          role: roles/storage.objectCreator
      

      Ahora alguien más puede agregar elementos a tu bucket.

    2. Para quitar este permiso, ejecuta el siguiente comando:

      gcloud storage buckets remove-iam-policy-binding gs://my-awesome-bucket --member=user:jeffersonloveshiking@gmail.com --role=roles/storage.objectCreator

      El comando es exitoso si no se muestra ningún error.

      Le quitaste al usuario el acceso a este bucket.

    Borra un objeto

    1. Usa el comando gcloud storage rm para borrar una de las imágenes:

      gcloud storage rm gs://my-awesome-bucket/kitten.png

      Si no hay errores, el comando mostrará lo siguiente:

      Removing gs://my-awesome-bucket/kitten.png...

      Esta copia de la imagen ya no se almacena en Cloud Storage (aunque la copia que creaste en la carpeta just-a-folder/ todavía existe).

    Limpia

    Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron en esta página, borra el proyecto de Google Cloud que tiene los recursos.

    1. Abre una ventana de la terminal (si no está abierta).
    2. Usa el comando gcloud storage rm con la marca --recursive para borrar el bucket y su contenido:

      gcloud storage rm gs://my-awesome-bucket --recursive

      Si no hay errores, el comando mostrará un mensaje similar a este:

      Removing gs://my-awesome-bucket/just-a-folder/cloud-storage.logo.png#1456530077282000...
      Removing gs://my-awesome-bucket/...

      Se borraron tu bucket y su contenido.

    ¿Qué sigue?