Usa Cloud Storage con Ruby

En esta página, se muestra cómo realizar tareas básicas en Cloud Storage con la biblioteca cliente de Google Cloud para Ruby, además del código subyacente con el que se realizan.

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. Obtén la versión 2.3 o posterior de Ruby y la gema Bundler de Ruby.

  2. En una ventana de la terminal, crea un directorio para tu entorno de trabajo y navega hacia él:

    mkdir gcs-programmatic-quickstart
    cd gcs-programmatic-quickstart

  3. Clona el repositorio de GitHub que contiene ejemplos del uso de la biblioteca cliente de Cloud Storage para Ruby y viene con un CLI a fin de ejecutar los ejemplos:

    git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples.git

  4. Prepara tu entorno de Ruby mediante la instalación de la biblioteca cliente de almacenamiento para Ruby:

    cd ruby-docs-samples/storage
    bundle install

    bundle install instala la gema google-cloud-storage definida en el gemfile de ejemplo. Los comandos de este instructivo usan esta gema.

  5. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  6. Configurar un proyecto de GCP Console.

    Configurar un proyecto

    Haz clic para realizar alguna de las siguientes acciones:

    • Crear o seleccionar un proyecto.
    • Habilitar las Cloud Storage API necesarias para el proyecto.
    • Crear una cuenta de servicio.
    • Descargar una clave privada como JSON.

    Puedes visualizar y administrar estos recursos en GCP Console en cualquier momento.

  7. Configura tu proyecto como una variable de entorno local:

    Linux o MacOS

    export GOOGLE_CLOUD_PROJECT=[PROJECT-ID]

    Windows

    Con PowerShell:

    $env:GOOGLE_CLOUD_PROJECT=[PROJECT-ID]

    Con el símbolo del sistema:

    set GOOGLE_CLOUD_PROJECT=[PROJECT-ID]

Crea un depósito

Los depósitos son los contenedores básicos que conservan tus datos en Cloud Storage.

Para crear un depósito, haz lo siguiente:

  1. Usa el siguiente comando y un nombre único para crear un depósito:

    bundle exec ruby buckets.rb create my-awesome-bucket

    En este comando, se usa un depósito llamado my-awesome-bucket. Debes elegir tu propio nombre de depósito exclusivo a nivel global.

    Si se ejecuta correctamente, el comando mostrará lo siguiente:

    Created bucket: my-awesome-bucket

    Tu depósito está listo y ya puedes comenzar a almacenar tu contenido.

Sube un objeto a tu depósito

Imagen de un gatito

  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 a continuación para copiar la imagen desde la ubicación donde la guardaste al depósito que creaste:

    bundle exec ruby files.rb upload my-awesome-bucket ~/Desktop/kitten.png kitten.png

    Si se ejecuta correctamente, el comando mostrará lo siguiente:

    Uploaded kitten.png

    Almacenaste un objeto en tu depósito.

Descarga un objeto de tu depósito

  1. Usa el comando a continuación para descargar la imagen almacenada en tu depósito a algún lugar en tu computadora, como el escritorio:

    bundle exec ruby files.rb download my-awesome-bucket kitten.png ~/Desktop/kitten2.png

    Si se ejecuta correctamente, el comando mostrará lo siguiente:

    Downloaded kitten.png

    Descargaste un objeto desde tu depósito.

Copia un objeto en el depósito

  1. Usa el comando a continuación para crear una copia de tu imagen en el depósito:

    bundle exec ruby files.rb copy my-awesome-bucket kitten.png my-awesome-bucket kitten3.png

    Si se ejecuta correctamente, el comando mostrará lo siguiente:

    kitten.png in my-awesome-bucket copied to kitten3.png in my-awesome-bucket

    Copiaste tu objeto en tu depósito.

Enumera los contenidos de un depósito

  1. Usa el comando a continuación para enumerar los contenidos del depósito:

    bundle exec ruby files.rb list my-awesome-bucket

    Si se ejecuta correctamente, el comando mostrará lo siguiente:

    kitten.png
    kitten3.png
    

    Acabas de ver los contenidos de tu depósito.

Otorga acceso a tu depósito

  1. Usa el comando siguiente a fin de dar permiso a una dirección de correo electrónico específica para que también controle los objetos en tu depósito:

    bundle exec ruby iam.rb add_bucket_iam_member my-awesome-bucket roles/storage.objectAdmin user:jane@gmail.com

    Si se ejecuta correctamente, el comando mostrará lo siguiente:

    Added user:jane@gmail.com with role roles/storage.objectAdmin to my-awesome-bucket

    Ahora alguien más puede colocar objetos y ver lo que hay en tu depósito.

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

    bundle exec ruby iam.rb remove_bucket_iam_member my-awesome-bucket roles/storage.objectAdmin user:jane@gmail.com

    Si se ejecuta correctamente, el comando mostrará lo siguiente:

    Removed user:jane@gmail.com with role roles/storage.objectAdmin from my-awesome-bucket

    Le quitaste al usuario el acceso a este depósito.

Borra objetos

  1. Usa el comando a continuación para borrar un objeto:

    bundle exec ruby files.rb delete my-awesome-bucket kitten.png

    Si se ejecuta correctamente, el comando mostrará lo siguiente:

    Deleted kitten.png

    Esta copia del objeto ya no se almacena en Cloud Storage (aunque la copia llamada kitten3.png aún existe).

Realiza una limpieza

Sigue estos pasos para evitar que se generen cargos en tu cuenta de GCP por los recursos que usaste en esta guía de inicio rápido:

  1. Usa el siguiente comando para borrar kitten3.png de tu depósito:

    bundle exec ruby files.rb delete my-awesome-bucket kitten3.png
  2. Usa el comando a continuación para borrar el depósito:

    bundle exec ruby buckets.rb delete my-awesome-bucket

    Si tiene éxito, el comando mostrará un mensaje similar a este:

    Deleted bucket: my-awesome-bucket

    Se borraron tu depósito y su contenido.

Próximos pasos

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.