¿Cómo acceder a los servicios de almacenamiento en la nube?
El acceso a los servicios de almacenamiento en la nube es un arte que requiere conocer tanto interfaces gráficas como de línea de comandos. En este contexto, hablaremos de dos herramientas esenciales: la consola GUI (interfaz gráfica) de Google Cloud y la herramienta de línea de comandos llamada gsutil. Mientras que la primera opción es más visual, gsutil ofrece un enfoque programático que permite mayor automatización y repetibilidad en los procesos.
¿Qué es gsutil y cómo funciona?
gsutil es una herramienta que se utiliza para interactuar con Google Cloud Storage desde la línea de comandos. Permite gestionar el contenido de tus proyectos en la nube de manera eficiente y está integrada con otras herramientas de Google Cloud. Aquí te mostramos algunos de sus comandos básicos:
ls: Este comando lista el contenido de un bucket, similar al comando ls en sistemas UNIX.
gsutil ls gs://nombre-del-bucket
mb: Hace referencia a “make bucket” y se utiliza para crear un nuevo bucket en Google Cloud.
gsutil mb gs://nombre-unico-del-bucket
Se recomienda utilizar un nombre asociado con el proyecto para hacer más fácil su identificación. Además, es crucial que el nombre del bucket sea único a nivel global.
¿Cómo crear y gestionar un bucket en Google Cloud?
Crear un bucket es apenas el comienzo. Veamos los pasos básicos y algunos consejos para gestionar un bucket eficazmente:
Creación del bucket:
Usa un nombre descriptivo y único.
Asegúrate de que el nombre esté relacionado con el proyecto que estás desarrollando.
Listar contenido de un bucket:
Se utiliza para comprobar qué objetos se han almacenado.
gsutil ls gs://nombre-del-bucket
Subir archivos a un bucket:
Copia archivos desde tu computadora local a un bucket en la nube.
gsutil cp archivo.txt gs://nombre-del-bucket
Descargar archivos desde un bucket:
Recupera archivos desde un bucket a una carpeta de tu máquina local.
gsutil cp gs://nombre-del-bucket/archivo.txt .
¿Cómo manejar las versiones de objetos en un bucket?
Una de las particularidades de Google Cloud Storage es su capacidad de manejo de versiones de objetos, lo cual es útil para no sobrescribir archivos importantes por accidente.
Habilitar el versionamiento: Google Cloud permite habilitar el versionamiento de tus objetos, lo cual guarda versiones antiguas cada vez que un archivo es modificado.
Actualizar un archivo existente:
Subir la nueva versión sobrescribe la existente, pero si el versionamiento está habilitado, puedes conservar el histórico.
Estos comandos son solo el comienzo para trabajar con gsutil. Como ves, la herramienta ofrece una forma robusta y flexible de gestionar datos en la nube, por lo que se recomienda experimentar y practicar en un entorno de prueba. Sigue explorando las diferentes clases de almacenamiento y herramientas que Google Cloud pone a tu disposición para convertirse en un experto en la gestión de datos en la nube.
Activar el versionamiento en los objetos de un Bucket
gsutil versioning set on gs://mi-proyecto-bucket-01
Desactivar el versionamiento en los objetos de un Bucket
gsutil versioning set off gs://mi-proyecto-bucket-01
Excelente aporte.
👏🏼👏🏼👏🏼
El comando el versionamiento del bucket seria:
gsutil versioning set <STATE> gs://<BUCKET_NAME>
El ++STATE++ seria
on activar el versionamiento
off desactivar el versionamiento
Referencia: Object Versioning
Si intentaste seguir la clase y te quedaste con cara de what? después de ver el warning de que no existe un id de proyecto como yo, primero crea un proyecto en la sección de api, inicia sesión en gcloud en la terminal y asígnalo el proyecto a la configuración (las letras en amarillo en la pantalla del profesor)
gcloud config set project myProject
Cloud Storage en acción
Para interactuar con el Cloud Storage podemos hacer uso de la Cloud Shell. Esta se abre, primero creando un proyecto en alguna organización (sin organización es posible también) y luego haciendo click en la parte derecha superior.
Una vez adentro podemos interactuar con cloud storage de la siguiente manera:
Con el comando gsutil seguido de otros comandos que usaremos para navegar e interactuar con el storage dentro de nuestro proyecto.
Los comandos son parecidos o iguales a los que uno usaría en una computadora Linux, los vistos en clase fueron:
ls
cp
Estos comandos se usan para lo mismo que los usarías en una computadora linux, con la particularidad de que no estás interactuando solo con una computadora común y corriente sino con el sistema de storage de google.
Para crear objetos tenemos que crear buckets para almacenarlos dentro del proyecto, esto se hace con el comando mb (claro, con gsutil en frente) que significa make bucket, a continuación le tenemos que poner un nombre al bucket y la convención es la siguiente:
gsutil mb gs://<bucket_name>-bucket-<bucket_number>. Donde el nombre del bucket tiene que estar relacionado con el nombre de tu proyecto y el número es el número de bucket que has creado.
Y para subir un objeto al storage se hace simplemente:
gsutil cp <file_name> gs://<bucket_name>-bucket-<bucket_number>. Donde <file_name> es el nombre del archivo o del objeto que vamos a subir.
La utilizacion de la consola de GCP es similar a la de Linux.
La lógica de manejo de archivos, similar a la de Git.
Tengo un archivo en local
Lo subo a la nube
Sigo teniendo el local y lo puedo editar sin que el de la nube se entere
Puedo volver a subir el local y pisar el de la nube
O puedo descargar el de la nube y pisar el local
Tambien puedo subir distintas versiones a la nube sin necesidad de pisar la existente.
como ingreso a cloud console ?
📚 gsutil referencia
el comando :qw no lo toma como un comando solo como texto y no puedo guardar mi archivo hola.txt
Es por el orden, primero se guarda y luego se sale, es decir usa :wq
Hola en el ejemplo se uso un proyecto cualquiera o es una VM o o una app engine?
Si bien no es indispensable, saber manejar la terminal hace que le perdamos el miedo y nos podamos mover libremente entre los directorios y saber que hacen comandos básicos como el cp y ls .
Buen día, hay algun sitio donde esten todos los comanos disponibes con su explicación?
¿Cómo hago para salir de la ventana de cloud shell despues de ejectuar el comando :
mv
?
Para crear y gestionar un bucket en Google Cloud, sigue estos pasos:
Accede a Google Cloud Console: Inicia sesión en tu cuenta y selecciona o crea un proyecto.
Navega a Cloud Storage: En el menú, selecciona "Storage" y luego "Browser".
Crea un bucket: Haz clic en "Create bucket". Elige un nombre único, selecciona la ubicación y la clase de almacenamiento.
Configura permisos: Define quién puede acceder al bucket y qué acciones pueden realizar.
Gestiona objetos: Puedes subir, listar, y eliminar archivos dentro del bucket utilizando la interfaz de usuario o mediante la herramienta de línea de comandos.
Recuerda que los buckets son esenciales para almacenar objetos de manera organizada y segura en Google Cloud.
Gsutil es una herramienta de línea de comandos que permite interactuar con Google Cloud Storage. Funciona facilitando la gestión de recursos y objetos en la nube mediante comandos. Puedes usar gsutil para crear, copiar, mover y eliminar buckets y objetos, así como para gestionar el versionado y la configuración de acceso. Su uso es similar al de otros comandos de terminal, lo que lo hace accesible para quienes están familiarizados con la línea de comandos. En tu curso de Google Cloud, aprenderás a utilizar gsutil para manejar tus datos en la nube de manera eficiente.
tener conjuntos de datos masivos que necesitas almacenar y procesar. Utilizando la interfaz de usuario de Google Cloud Console o herramientas de línea de comandos como gsutil, cargarías tus datos en Cloud Storage
NAME
versioning - Enable or suspend versioning for one or more buckets
SYNOPSIS
gsutil versioning set (on|off) gs://<bucket_name>...
gsutil versioning get gs://<bucket_name>...
DESCRIPTION
The `Versioning Configuration
`_ feature
enables you to configure a Google Cloud Storage bucket to keep old
versions of objects.
The gsutil versioning command has two sub-commands:
SET
The "set" sub-command requires an additional sub-command, either "on" or
"off", which, respectively, will enable or disable versioning for the
specified bucket(s).
GET
The "get" sub-command gets the versioning configuration for a
bucket and displays whethe
Para listar las veriones utilizamos el comando
gsutil ls -a gs://fgarcia-platzi-storage-bucket-01
Para activar el control de versión
gsutil versioning set on gs://nombre-bucket
Cuando intente crear el bucket
gsutil mb gs://gemb-platzi-storage-bucket-01
Me salio el mensaje de error
Creating gs://gemb-platzi-storage-bucket-01/...ServiceException:409ACloudStorage bucket named 'gemb-platzi-storage-bucket-01' already exists.Try another name.Bucket names must be globally unique across all GoogleCloud projects, including those outside of your organization.
Lo que hice fue cambiar el inicial del nombre del bucket gemb y le puse ni nombre usuario y funciono ok
Si no se encuentra el comando gsutil o gcloud haga lo siguiente
Si se tiene una distribución de Linux - ubuntu, o si se tiene MacOS, o Windows también se pudede instalar desde allí
lo mejor es ir a la documentación oficial de GCP
Dependiendo de la distribución
No incluyas información sensible en el nombre del bucket, ya que el espacio de nombres del bucket es global y tiene visibilidad pública.
Los nombres de depósitos solo deben contener letras en minúscula, números, guiones (-), guiones bajos (_) y puntos (.). Los nombres que contengan puntos requieren verificación.
Deben comenzar y terminar con un número o una letra.
Pueden contener entre 3 y 63 caracteres. Los nombres que contienen puntos pueden tener hasta 222 caracteres, pero cada componente separado por un punto no puede tener más de 63 caracteres.
No se pueden representar como una dirección IP en notación decimal con puntos (por ejemplo, 192.168.5.4).
No pueden comenzar con el prefijo "goog".
No pueden contener “google” ni otras palabras similares a “google”.
Además, para garantizar el cumplimiento de DNS y la compatibilidad en el futuro, no deberías usar guiones bajos (_) ni un punto adyacente a otro punto o a un guion. Por ejemplo, “..”, “-.” o “.-” no son nombres válidos en DNS.