Puedes usar Cloud Storage para almacenar y entregar archivos tal como películas, imágenes y otros contenidos estáticos.
En este documento, se describe cómo usar las bibliotecas cliente de Cloud para Cloud Storage en tu app para almacenar y recuperar datos de Cloud Storage.
Antes de comenzar
- Sigue las instrucciones que se indican en Configura tu entorno de desarrollo para configurar el entorno y el proyecto, y comprender cómo se estructuran las apps en App Engine. Anota y guarda el ID del proyecto, ya que lo necesitarás para ejecutar la aplicación de muestra que se describe en este documento.
Asegúrate de crear un bucket de Cloud Storage para tu aplicación con este comando:
gcloud storage buckets create gs://YOUR_BUCKET_NAME
Haz que el bucket pueda leerse públicamente para que pueda entregar archivos:
gcloud storage buckets add-iam-policy-binding gs://<var>YOUR_BUCKET_NAME</var> --member=allUsers --role=roles/storage.objectViewer
Descarga la muestra
Go
Para clonar el repositorio:
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
cd golang-samples/appengine_flexible/storage
Java
Para clonar el repositorio:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
cd java-docs-samples/flexible/java-17/cloudstorage
Node.js
Para clonar el repositorio:
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples/
cd nodejs-docs-samples/appengine/storage/flexible
PHP
Para clonar el repositorio:
git clone https://github.com/GoogleCloudPlatform/php-docs-samples
cd php-docs-samples/appengine/flexible/storage
Python
Para clonar el repositorio:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/appengine/flexible/storage
Ruby
Para clonar el repositorio:
git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples
cd ruby-docs-samples/appengine/flexible/storage/
.NET
Descarga la aplicación de muestra y extráela.
Si usas la línea de comandos, navega al siguiente directorio de la app:
dotnet-docs-samples\appengine\flexible\CloudStorage\CloudStorage.Sample
Para ejecutar la aplicación localmente, configura una cuenta de servicio y descarga las credenciales de esta forma:
Abre la lista de credenciales en la consola de Google Cloud.
Haz clic en Crear credenciales.
Selecciona Clave de cuenta de servicio.
Se abre una ventana Crear clave de cuenta de servicio.
Haz clic en la lista Cuenta de servicio y selecciona Cuenta de servicio predeterminada de Compute Engine.
Selecciona JSON para el Tipo de clave.
Haz clic en Crear.
Aparece una ventana Nueva clave privada y la clave privada se descarga automáticamente.
Haz clic en Cerrar.
Instala dependencias y edita la configuración del proyecto
Go
En app.yaml
, establece GCLOUD_STORAGE_BUCKET
; este valor es el nombre del bucket de Cloud Storage que creaste antes.
Java
En app.yaml
, configura BUCKET_NAME
en el bucket de Cloud Storage que creaste para tu proyecto.
En pom.xml
, configura com.google.cloud
como una dependencia y especifica google-cloud-storage
como el artifactID para esa dependencia; esto proporciona las funciones a fin de usar Cloud Storage.
Node.js
En app.yaml
, agrega el ID del proyecto al valor de entorno GOOGLE_CLOUD_PROJECT
. Luego, configura el valor de entorno GCLOUD_STORAGE_BUCKET
con el nombre del bucket de Cloud Storage que creaste antes.
En package.json
, agrega @google-cloud/storage
como dependencia, que proporciona las funciones para usar Cloud Storage.
Consulta el archivo README.md
para obtener instrucciones sobre cómo ejecutar y probar de manera local.
PHP
En app.yaml
, establece CLOUD_STORAGE_BUCKET
; este valor es el nombre del bucket de Cloud Storage que creaste antes.
En composer.json
, ten en cuenta que debes incluir la biblioteca cliente de Cloud, ya que proporciona funciones de Cloud Storage.
Python
En app.yaml
, establece GOOGLE_STORAGE_BUCKET
; este valor es el nombre del bucket de Cloud Storage que creaste antes.
En requirements.txt
, ten en cuenta que debes incluir la biblioteca de google-cloud-storage
, ya que proporciona funciones de Cloud Storage.
Ruby
En app.yaml
, configura GCLOUD_STORAGE_BUCKET
en el bucket de Cloud Storage que creaste para tu proyecto.
Ten en cuenta que debes incluir la biblioteca de gcloud
en Gemfile
para usar las funciones de Cloud Storage.
.NET
En el archivo app.yaml
, configura el TEST_GOOGLE_BUCKET_NAME
en el bucket de Cloud Storage que creaste para tu proyecto.
env_variables:
TEST_GOOGLE_BUCKET_NAME: [your-bucket-name]
Código de la aplicación
Go
La misma aplicación presenta una página web en la que se pide al usuario que proporcione un archivo para almacenar en Cloud Storage. Cuando el usuario selecciona un archivo y hace clic en enviar, el controlador de cargas escribe el archivo en el depósito de Cloud Storage con Cloud Storage NewWriter
Ten en cuenta que, para recuperar este archivo de Cloud Storage, tendrás que especificar el nombre del bucket y el del archivo. Almacena estos valores en tu app para poder usarlos más adelante.
Java
La misma aplicación presenta una página web en la que se pide al usuario que proporcione un archivo para almacenar en Cloud Storage. Cuando el usuario selecciona un archivo y hace clic en enviar, el controlador de solicitudes doPost
escribe el archivo en el bucket de Cloud Storage mediante Storage.create.
Ten en cuenta que, para recuperar este archivo de Cloud Storage, tendrás que especificar el nombre del bucket y el del archivo. Almacena estos valores en tu app para poder usarlos más adelante.
Node.js
La misma aplicación presenta una página web en la que se pide al usuario que proporcione un archivo para almacenar en Cloud Storage. Cuando el usuario selecciona un archivo y hace clic en Enviar, el controlador de carga sube el contenido del archivo en un BLOB y lo escribe en Cloud Storage.
Recuerda que, después de subir el archivo a Cloud Storage, se muestra la URL pública del archivo y podrás utilizarla para entregarlo directamente desde Cloud Storage. Debes guardar este valor en la app para usarlo más adelante.
PHP
La misma aplicación presenta una página web en la que se pide al usuario que proporcione un archivo para almacenar en Cloud Storage. Cuando el usuario selecciona un archivo y hace clic en Enviar, el controlador de carga sube el contenido del archivo en un BLOB y lo escribe en Cloud Storage.
Recuerda que, después de subir el archivo a Cloud Storage, se muestra la URL pública del archivo y podrás utilizarla para entregarlo directamente desde Cloud Storage. Debes guardar este valor en la app para usarlo más adelante.
Python
La misma aplicación presenta una página web en la que se pide al usuario que proporcione un archivo para almacenar en Cloud Storage. Cuando el usuario selecciona un archivo y hace clic en Enviar, el controlador de carga sube el contenido del archivo a un BLOB de Cloud Storage y lo escribe en el bucket de Cloud Storage.
Recuerda que después de subir el archivo a Cloud Storage, se muestra la URL pública del archivo y podrás usarla para entregar el archivo directamente desde Cloud Storage. Debes guardar este valor en la app para usarlo más adelante.
Ruby
La misma aplicación presenta una página web en la que se pide al usuario que proporcione un archivo para almacenar en Cloud Storage. Cuando el usuario selecciona un archivo y hace clic en Enviar, el controlador de carga sube el contenido del archivo en un BLOB y lo escribe en Cloud Storage.
Recuerda que, después de subir el archivo a Cloud Storage, se muestra la URL pública del archivo y podrás utilizarla para entregarlo directamente desde Cloud Storage. Debes guardar este valor en la app para usarlo más adelante.
.NET
La misma aplicación presenta una página web en la que se pide al usuario que proporcione un archivo para almacenar en Cloud Storage. Cuando el usuario selecciona un archivo y hace clic en Enviar, el controlador de carga sube el contenido del archivo en un BLOB y lo escribe en Cloud Storage.
Recuerda que, después de subir el archivo a Cloud Storage, se muestra la URL pública del archivo y podrás utilizarla para entregarlo directamente desde Cloud Storage. Debes guardar este valor en la app para usarlo más adelante.
Más información
Para obtener más información sobre Cloud Storage, consulta la documentación de Cloud Storage.