Primeros pasos con el almacenamiento en la nube de Google

Configuración inicial

Google mantiene documentación sobre cómo comenzar aquí: https://cloud.google.com/storage/docs/quickstart-console

Preparándose para usar GCS:

  1. Cree un proyecto de Google Cloud, si aún no tiene uno.
  2. Habilite la facturación para su proyecto para permitir que se creen depósitos.
  3. (Opcional) Instala el SDK de Google Cloud, que incluye gsutil, la utilidad de línea de comandos de GCS. Como alternativa, puede usar gsutil directamente desde la IU de Google Cloud usando Google Cloud Shell.

Descarga HTTP (objetos públicos)

Si desea descargar un objeto de GCS que se puede ver públicamente, la forma más sencilla es utilizar un navegador web o una herramienta de línea de comandos para obtener una URL con este patrón: https://storage.googleapis.com/bucketName/objectName.

Ejemplo: https://storage.googleapis.com/pub/someOfTheTeam.jpg

Subir archivos usando Python

Importar bibliotecas necesarias:

from gcloud import storage

Defina las variables necesarias:

Cliente: agrupa la configuración necesaria para las solicitudes de API

client = storage.Client()

Parámetros opcionales para Client():

  • proyecto: el proyecto por el cual el cliente actúa en nombre. Se pasará al crear un tema. Si no se pasa, vuelve al valor predeterminado inferido del entorno.
  • credenciales: Credenciales OAuth2 utilizadas para la conexión. Si no se pasa, vuelve al valor predeterminado inferido del entorno.
  • http: objeto HTTP para realizar solicitudes. Si no se pasa, se crea un objeto http que está vinculado a las credenciales del objeto actual.

Cubo: Selecciona el cubo creado en el proyecto a través de Google Cloud Console

bucket = client.get_bucket('<your-bucket-name>')

Para obtener información más detallada sobre las funciones de Cliente, consulte Cliente de almacenamiento

Blob: Nombre del archivo que se guardará.

blob = bucket.blob('my-test-file.txt')

También puede definir directorios como este:

filename = "%s/%s" % (folder, filename)
blob = bucket.blob(filename)

Existen varios métodos para cargar un archivo. Puede estar esperando un archivo en la carga útil de una solicitud POST o PUT, o tenerlo localmente en su sistema de archivos. Incluso puede enviar texto directamente a un archivo de texto.

# Uploading string of text
blob.upload_from_string('this is test content!')

# Uploading from a local file using open()
with open('photo.jpg', 'rb') as photo:
    blob.upload_from_file(photo)

# Uploading from local file without open()
blob.upload_from_filename('photo.jpg')

Para obtener información más detallada sobre las funciones de carga, consulte Blob/Objects

Si necesita que su blob sea público, puede configurar la privacidad del archivo como pública:

blob.make_public()
url = blob.public_url