Descubrir 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 gcloud.
Los costes que se te aplican en Cloud Storage se basan en los recursos que utilizas. En esta guía de inicio rápido se suelen usar recursos de Cloud Storage por un valor inferior a 0,01 USD.
Antes de empezar
- 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.
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
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 theresourcemanager.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.
-
Verify that billing is enabled for your Google Cloud project.
-
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.
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
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 theresourcemanager.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.
-
Verify that billing is enabled for your Google Cloud project.
-
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.
- Abre una ventana de terminal.
Usa el comando
gcloud storage buckets create
y un nombre único para crear un segmento:gcloud storage buckets create gs://my-awesome-bucket/ --uniform-bucket-level-access
En este ejemplo, se usa un segmento llamado "my-awesome-bucket". Para empezar, tienes que elegir un nombre para tu segmento, que debe ser único de forma global.
Si la acción se realiza correctamente, el comando mostrará lo siguiente:
Creating gs://my-awesome-bucket/...
Haz clic con el botón derecho en la imagen de arriba y guárdala en algún lugar de tu ordenador, como el escritorio.
Usa el comando
gcloud storage cp
para copiar la imagen de la ubicación en la que la guardaste al segmento que has creado:gcloud storage cp Desktop/kitten.png gs://my-awesome-bucket
Si la acción se realiza correctamente, 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
Acabas de almacenar un objeto en tu segmento.
Usa el comando
gcloud storage cp
para descargar la imagen que has almacenado en tu segmento en alguna ubicación de tu ordenador, como el escritorio:gcloud storage cp gs://my-awesome-bucket/kitten.png Desktop/kitten2.png
Si la acción se realiza correctamente, 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
Acabas de descargar algo de tu contenedor.
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 la acción se realiza correctamente, 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 la imagen en una carpeta nueva de tu contenedor.
Usa el comando
gcloud storage ls
para enumerar el contenido del nivel superior de tu contenedor:gcloud storage ls gs://my-awesome-bucket
Si la acción se realiza correctamente, el comando devuelve un mensaje similar al siguiente:
gs://my-awesome-bucket/kitten.png gs://my-awesome-bucket/just-a-folder/
Acabas de ver el contenido del nivel superior de tu contenedor.
Usa el comando
gcloud storage ls
con la marca--long
para obtener información sobre una de tus imágenes:gcloud storage ls gs://my-awesome-bucket/kitten.png --long
Si la acción se realiza correctamente, el comando devuelve un mensaje similar al siguiente:
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.
Usa el comando
gcloud storage buckets add-iam-policy-binding
para conceder permiso a todos los usuarios para leer las imágenes almacenadas en tu segmento:gcloud storage buckets add-iam-policy-binding gs://my-awesome-bucket --member=allUsers --role=roles/storage.objectViewer
El comando se habrá ejecutado correctamente si tu respuesta contiene lo siguiente:
bindings: - members: - allUsers role: roles/storage.objectViewer
Ahora cualquier persona puede obtener tus imágenes.
Para quitar este acceso, usa el comando:
gcloud storage buckets remove-iam-policy-binding gs://my-awesome-bucket --member=allUsers --role=roles/storage.objectViewer
El comando se ejecuta correctamente si no se devuelve ningún error.
Has eliminado el acceso público a las imágenes de tu segmento.
Usa el comando
gcloud storage buckets add-iam-policy-binding
para dar permiso a una dirección de correo específica para añadir objetos a tu segmento:gcloud storage buckets add-iam-policy-binding gs://my-awesome-bucket --member=user:jeffersonloveshiking@gmail.com --role=roles/storage.objectCreator
El comando se habrá ejecutado correctamente si tu respuesta contiene lo siguiente:
bindings: - members: - user:jeffersonloveshiking@gmail.com role: roles/storage.objectCreator
Ahora, otra persona puede añadir elementos a tu contenedor.
Para quitar este permiso, usa el comando:
gcloud storage buckets remove-iam-policy-binding gs://my-awesome-bucket --member=user:jeffersonloveshiking@gmail.com --role=roles/storage.objectCreator
El comando se ejecuta correctamente si no se devuelve ningún error.
Has quitado el acceso del usuario a este contenedor.
Utiliza el comando
gcloud storage rm
para eliminar una de tus imágenes:gcloud storage rm gs://my-awesome-bucket/kitten.png
Si la acción se realiza correctamente, el comando mostrará lo siguiente:
Removing gs://my-awesome-bucket/kitten.png...
Esta copia de la imagen ya no está almacenada en Cloud Storage (aunque la copia que hiciste en la carpeta
just-a-folder/
sigue existiendo).- Abre una ventana de terminal (si aún no lo has hecho).
Usa el comando
gcloud storage rm
con la marca--recursive
para eliminar el contenedor y todo lo que haya en él:gcloud storage rm gs://my-awesome-bucket --recursive
Si la acción se realiza correctamente, el comando devuelve un mensaje similar al siguiente:
Removing gs://my-awesome-bucket/just-a-folder/cloud-storage.logo.png#1456530077282000... Removing gs://my-awesome-bucket/...
Se eliminarán el segmento y su contenido.
- Sigue la guía de inicio rápido de Cloud Storage con la Google Cloud consola.
- Consulta la información general sobre el producto Cloud Storage.
- Consulta los precios de Cloud Storage.
- Consulta las páginas de referencia de los comandos de Google Cloud CLI, como make bucket (
buckets create
), copy (cp
), list (ls
), add access (buckets add-iam-policy-binding
) y remove (rm
).
Crear un segmento
Los segmentos son los contenedores básicos que almacenan tus datos en Cloud Storage.
Para crear un segmento, sigue estas instrucciones:
Acabas de crear un segmento en el que puedes almacenar tus datos.
Creating gs://my-awesome-bucket/... ServiceException: 409 Bucket my-awesome-bucket already exists.
En este caso, vuelve a intentar este paso con un nombre de segmento diferente.
Subir un objeto a un segmento
Descargar el objeto de tu contenedor
Copia el objeto en una carpeta del segmento
Mostrar el contenido de un segmento o una carpeta
Mostrar los detalles de un objeto
Hacer que los objetos sean de acceso público
Dar acceso a un usuario a tu cubo
Eliminar un objeto
Limpieza
Para evitar que se apliquen cargos en tu Google Cloud cuenta por los recursos utilizados en esta página, elimina el Google Cloud proyecto con los recursos.