Este contenido aún no está optimizado para dispositivos móviles.
Para obtener la mejor experiencia, visítanos en una computadora de escritorio con un vínculo que te enviaremos por correo electrónico.
Descripción general
Cloud Storage permite almacenar y recuperar cualquier cantidad de datos en todo el mundo y en cualquier momento. Puedes usar Cloud Storage en varias situaciones, como la entrega de contenido de un sitio web, el almacenamiento de datos con fines de archivo y recuperación ante desastres, o la distribución de grandes objetos de datos a los usuarios a través de una descarga directa.
En este lab, configurarás una aplicación para utilizar Cloud Storage con el objetivo de almacenar y recuperar datos de la aplicación. La aplicación es un cuestionario en línea; los datos son los datos del formulario, incluida una imagen que tú subes desde tu máquina local.
Objetivos
En este lab, aprenderás a realizar las siguientes tareas:
Configurar Cloud Shell como tu entorno de desarrollo
Actualizar el código de la aplicación para integrar Cloud Datastore
Usar la aplicación Quiz para subir un archivo de imagen en Cloud Storage y ver la imagen en el cuestionario
Configuración y requisitos
En cada lab, recibirá un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.
Accede a Qwiklabs desde una ventana de incógnito.
Ten en cuenta el tiempo de acceso del lab (por ejemplo, 1:15:00) y asegúrate de finalizarlo en el plazo asignado.
No existe una función de pausa. Si lo necesita, puede reiniciar el lab, pero deberá hacerlo desde el comienzo.
Cuando esté listo, haga clic en Comenzar lab.
Anote las credenciales del lab (el nombre de usuario y la contraseña). Las usarás para acceder a la consola de Google Cloud.
Haga clic en Abrir Google Console.
Haga clic en Usar otra cuenta, copie las credenciales para este lab y péguelas en el mensaje emergente que aparece.
Si usa otras credenciales, se generarán errores o incurrirá en cargos.
Acepta las condiciones y omite la página de recursos de recuperación.
Activa Google Cloud Shell
Google Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud.
Google Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
En la consola de Cloud, en la barra de herramientas superior derecha, haz clic en el botón Abrir Cloud Shell.
Haz clic en Continuar.
El aprovisionamiento y la conexión al entorno demorarán unos minutos. Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. Por ejemplo:
gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con el completado de línea de comando.
Puedes solicitar el nombre de la cuenta activa con este comando:
virtualenv se utiliza para crear entornos virtuales de espacios de usuario que permiten instalar diferentes conjuntos de paquetes de Python para distintos proyectos. Usar virtualenv también implica que no tienes que instalar paquetes de Python de forma global, lo que puede hacer que las herramientas del sistema o de otros proyectos de Python generen errores. En este lab, virtualenv también se utiliza para asegurarse de que Python 3 se usa en todos los comandos de Python.
Configura un entorno virtualenv para Python 3:
virtualenv -p python3 vrenv
Activa el entorno virtual:
source vrenv/bin/activate
Tarea 2. Prepara la aplicación Quiz
En esta sección, accederás a Cloud Shell, clonarás el repositorio de Git que contiene la aplicación Quiz y ejecutarás la aplicación.
Clona el código fuente en Cloud Shell
Para clonar el repositorio para la clase, ejecuta el siguiente comando:
Este archivo de secuencia de comandos realiza lo siguiente:
Crea una aplicación de App Engine.
Exporta una variable de entorno GCLOUD_PROJECT.
Actualiza pip y, luego, ejecuta pip install -r requirements.txt.
Crea entidades en Cloud Datastore.
Imprime el ID del proyecto de Google Cloud.
Ejecuta la aplicación:
python run_server.py
La aplicación se está ejecutando cuando ves el siguiente resultado:
* Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 502-577-323
Revisa la aplicación Quiz
Para ver la aplicación, hazl clic en Web preview > Preview on port 8080.
Haz clic en el vínculo Create Question de la barra de herramientas.
Deberías ver un formulario simple que contiene cuadros de texto para las preguntas y respuestas, y botones de selección para elegir la respuesta correcta.
Nota:
El formulario tiene un campo de carga de archivos que utilizarás para subir archivos de imagen o video. En este lab, subirás un archivo de imagen; usarás el mismo proceso para subir el archivo de video.
Tarea 3. Examina el código de la aplicación de Quiz
En esta sección, revisarás el código de la aplicación del caso de éxito.
En este lab, verás y editarás archivos. Puedes usar los editores de shell que están instalados en Cloud Shell, como nano o vim, o bien el editor de código de Cloud Shell.
En este lab, se usa el editor de código de Cloud Shell para revisar el código de la aplicación de Quiz.
Inicia el editor de código de Cloud Shell
Para iniciar el editor de código, en Cloud Shell, haz clic en Abrir editor > Abrir en una ventana nueva.
Examina el código de la aplicación
Usa el panel del navegador de archivos ubicado en la parte izquierda del editor para navegar hasta la carpeta /cloudstorage/start.
Selecciona el archivo add.html en la carpeta ...quiz/webapp/templates/.
Este archivo contiene la plantilla para el formulario Create Question.
Observa cómo el formulario se modificó para usar multipart/form-data como el enc-type y hay dos nuevos controles de formularios:
Un control de carga de archivos llamado image
Un campo oculto llamado imageUrl
Selecciona el archivo routes.py en la carpeta ...quiz/webapp.
Este archivo contiene la ruta del controlador POST que recibe los datos del formulario. Se modificó para obtener el archivo de imagen del formulario.
Selecciona el archivo questions.py en la carpeta ...quiz/webapp.
Este archivo contiene el controlador que procesa los datos del formulario extraídos en el archivo routes.py. Modificarás este archivo para usar un nuevo módulo que sea un cliente para Cloud Storage.
Selecciona el archivo ...quiz/gcp/storage.py.
Este es el archivo en el que escribirás el código para guardar los datos del archivo de imagen en Cloud Storage.
Tarea 4. Crea un bucket de Cloud Storage
En esta sección, crearás un bucket de Cloud Storage y exportarás una variable de entorno que hace referencia a este.
Vuelve a la línea de comandos de Cloud Shell y haz clic en Abrir Terminal.
Detén la aplicación presionando Ctrl+C.
Crea un bucket de Cloud Storage con el nombre <Project ID>-media:
Puedes crear un bucket con el comando gcloud storage buckets create. Para ello, indica el nombre del bucket como gs://BUCKET_NAME.
Puedes usar $DEVSHELL_PROJECT_ID como el prefijo del nombre del bucket seguido de -media.
Para exportar el nombre del bucket de Cloud Storage como una variable de entorno llamada GCLOUD_BUCKET, ejecuta el siguiente comando:
export GCLOUD_BUCKET=$DEVSHELL_PROJECT_ID-media
Nota:
Ten en cuenta que la aplicación usa variables de entorno para la configuración.
Esto permite que el equipo de desarrollo implemente la aplicación en las etapas de desarrollo, evaluación, prueba y producción simplemente cambiando estas variables.
Haz clic en Revisar mi progreso para verificar el objetivo.
Crear un bucket
Tarea 5. Agrega objetos a Cloud Storage
En esta sección, escribirás código para guardar los archivos cargados en Cloud Storage.
Nota: Actualiza el código o agrégalo entre los siguientes comentarios:
// TODO // END TODO
Para profundizar tus conocimientos, revisa el código, los comentarios intercalados y la documentación de la API relacionada.
Para obtener más información sobre la documentación de la API para Cloud Storage, consulta APIs y referencias.
Importa y usa el módulo Cloud Storage de Python
En el editor de código, ve a la parte superior del archivo ...quiz/gcp/storage.py.
Obtén el nombre del bucket de la variable de entorno GCLOUD_BUCKET.
Importa el módulo de almacenamiento desde el paquete google.client.
Crea un cliente de Cloud Storage.
Obtén una referencia al bucket de Cloud Storage.
quiz/gcp/storage.py:
# TODO: Get the Bucket name from the GCLOUD_BUCKET environment variable
bucket_name = os.getenv('GCLOUD_BUCKET')
# END TODO
# TODO: Import the storage module
from google.cloud import storage
# END TODO
# TODO: Create a client for Cloud Storage
storage_client = storage.Client()
# END TODO
# TODO: Use the client to get the Cloud Storage bucket
bucket = storage_client.get_bucket(bucket_name)
# END TODO
Escribe un código para enviar un archivo a Cloud Storage
En storage.py, en la función upload_file(...), elimina la declaración pass existente. Luego, usa el cliente de Cloud Storage para subir un archivo a tu depósito de Cloud Storage y ponlo disponible de forma pública.
Obtén una referencia a un objeto BLOB de Cloud Storage en el bucket.
Usa el objeto BLOB para subir la imagen.
Haz el archivo público.
Devuelve la URL pública del BLOB.
Función upload_file(...) de quiz/gcp/storage.py:
"""
Uploads a file to a given Cloud Storage bucket and returns the public url
to the new object.
"""
def upload_file(image_file, public):
pass
# TODO: Use the bucket to get a blob object
blob = bucket.blob(image_file.filename)
# END TODO
# TODO: Use the blob to upload the file
blob.upload_from_string(
image_file.read(),
content_type=image_file.content_type)
# END TODO
# TODO: Make the object public
if public:
blob.make_public()
# END TODO
# TODO: Modify to return the blob's Public URL
return blob.public_url
# END TODO
Guarda storage.py.
Escribe el código para usar la funcionalidad de Cloud Storage
En el editor, ve a la parte superior del archivo ...quiz/webapp/questions.py.
Modifica la sentencia import para utilizar tu cliente de almacenamiento, así como el cliente del almacén de datos.
Desplázate a la función upload_file(...) y usa el cliente de almacenamiento para subir un archivo, y asigna a una variable la URL pública que se devuelve.
Modifica la sentencia return para que devuelva la URL pública.
Ve hasta la función save_question(...) y escribe una prueba If para ver si image_file está presente.
Si está presente, llama a la función upload_file(...) y asigna la URL pública a una propiedad de entidad llamada imageUrl.
De lo contrario, asigna una cadena vacía a la propiedad de entidad imageUrl.
quiz/webapp/questions.py:
# TODO: Import the storage module
from quiz.gcp import storage, datastore
# END TODO
"""
uploads file into google cloud storage
- upload file
- return public_url
"""
def upload_file(image_file, public):
if not image_file:
return None
# TODO: Use the storage client to Upload the file
# The second argument is a boolean
public_url = storage.upload_file(
image_file,
public
)
# END TODO
# TODO: Return the public URL
# for the object
return public_url
# END TODO
"""
uploads file into google cloud storage
- call method to upload file (public=true)
- call datastore helper method to save question
"""
def save_question(data, image_file):
# TODO: If there is an image file, then upload it
# And assign the result to a new Datastore
# property imageUrl
# If there isn't, assign an empty string
if image_file:
data['imageUrl'] = str(
upload_file(image_file, True))
else:
data['imageUrl'] = u''
# END TODO
data['correctAnswer'] = int(data['correctAnswer'])
datastore.save_question(data)
return
Guarda questions.py.
Ejecuta la aplicación y crea un objeto de Cloud Storage
En Cloud Shell, haz clic en Vista previa en la Web > Vista previa en el puerto 8080 para obtener una vista previa de la aplicación Quiz.
Haz clic en el vínculo Create Question.
Completa el formulario con los siguientes valores y haz clic en Save:
Campo del formulario
Valor
Autor
Tu nombre
Cuestionario
Google Cloud Platform
Título
¿Con qué producto se relaciona este logotipo?
Imagen
Sube el archivo Google_Cloud_Storage_logo.png que descargaste anteriormente
Respuesta 1
App Engine
Respuesta 2
Cloud Storage (Selecciona el botón de selección Respuesta 2)
Respuesta 3
Compute Engine
Respuesta 4
Kubernetes Engine
Vuelve a la consola de Cloud y dirígete al menú de navegación > Cloud Storage.
En la página Cloud Storage > Buckets, haz clic en el bucket correcto (con el nombre <Project ID>-media).
Deberías ver tu nuevo objeto con el nombre Google_Cloud_Storage_logo.png.
Haz clic en Revisar mi progreso para verificar el objetivo.
Sube objetos a tu bucket
Ejecuta la aplicación cliente y prueba la URL pública de Cloud Storage
Agrega /api/quizzes/gcp al final de la URL de la aplicación.
Deberías ver que los datos JSON se mostraron al cliente en correspondencia a la pregunta que agregaste en la aplicación web.
La propiedad imageUrl debe tener un valor correspondiente al objeto en Cloud Storage.
Vuelve a la página de inicio de la aplicación y haz clic en Take Test.
Haz clic en GCP y responde cada pregunta.
Cuando llegues a la pregunta que acabas de agregar, deberías ver que la imagen se formateó dentro de la aplicación web del cliente.
Finalice su lab
Cuando haya completado el lab, haga clic en Finalizar lab. Google Cloud Skills Boost quitará los recursos que usó y limpiará la cuenta.
Tendrá la oportunidad de calificar su experiencia en el lab. Seleccione la cantidad de estrellas que corresponda, ingrese un comentario y haga clic en Enviar.
La cantidad de estrellas indica lo siguiente:
1 estrella = Muy insatisfecho
2 estrellas = Insatisfecho
3 estrellas = Neutral
4 estrellas = Satisfecho
5 estrellas = Muy satisfecho
Puede cerrar el cuadro de diálogo si no desea proporcionar comentarios.
Para enviar comentarios, sugerencias o correcciones, use la pestaña Asistencia.
Copyright 2026 Google LLC. Todos los derechos reservados. Google y el logotipo de Google son marcas de Google LLC. El resto de los nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que están asociados.
Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
.
Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar
Usa la navegación privada
Copia el nombre de usuario y la contraseña proporcionados para el lab
Haz clic en Abrir la consola en modo privado
Accede a la consola
Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
Acepta las condiciones y omite la página de recursos de recuperación
No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto
Este contenido no está disponible en este momento
Te enviaremos una notificación por correo electrónico cuando esté disponible
¡Genial!
Nos comunicaremos contigo por correo electrónico si está disponible
Un lab a la vez
Confirma para finalizar todos los labs existentes y comenzar este
Usa la navegación privada para ejecutar el lab
Usar una ventana de incógnito o de navegación privada es la mejor forma de ejecutar
este lab. Así evitarás cualquier conflicto entre tu cuenta personal
y la cuenta de estudiante, lo que podría generar cargos adicionales en
tu cuenta personal.
En este lab, agregarás imágenes y videos a una aplicación. También almacenarás archivos como objetos en un bucket de Cloud Storage.
Duración:
0 min de configuración
·
Acceso por 60 min
·
60 min para completar