Usar Cloud Storage

Si tu aplicación Go 1.11 necesita leer y escribir archivos durante el tiempo de ejecución o servir archivos como películas, imágenes u otro contenido estático, te recomendamos que uses un segmento de Cloud Storage.

App Engine crea un segmento predeterminado cuando creas una aplicación. Este segmento ofrece los primeros 5 GB de almacenamiento de forma gratuita e incluye una cuota gratuita para las operaciones de E/S de Cloud Storage. Puedes crear otros segmentos de Cloud Storage, pero solo el segmento predeterminado incluye los primeros 5 GB de almacenamiento de forma gratuita.

Usar Cloud Storage con App Engine

Para usar un segmento de Cloud Storage desde una aplicación de App Engine, sigue estos pasos:

  1. Consulta los nombres de los contenedores de tu proyecto de App Engine. Especificarás estos nombres cuando subas o descargues datos de Cloud Storage.

    Te recomendamos que almacenes los nombres de tus segmentos de Cloud Storage en las variables de entorno de tu aplicación en lugar de codificarlos directamente en ella.

  2. En tu aplicación, declara Cloud Storage como dependencia con el comando go get cloud.google.com/go/storage. También puedes declarar dependencias en el archivo go.mod de tu aplicación. Más información sobre cómo especificar dependencias

  3. Usa la biblioteca de cliente de Google Cloud para subir o descargar datos de tus segmentos.

    Para obtener información sobre cómo servir contenido estático, consulta Almacenar y servir archivos estáticos.

Usar el segmento predeterminado

Cuando creas una aplicación, App Engine crea un segmento predeterminado que te ofrece los primeros 5 GB de almacenamiento de forma gratuita. El segmento predeterminado también incluye una cuota gratuita para las operaciones de E/S de Cloud Storage. Consulta la página Precios, cuotas y límites para obtener más información. Se te cobrará por el almacenamiento que supere el límite de 5 GB.

El nombre del segmento predeterminado tiene el siguiente formato:

project-id.appspot.com

App Engine también crea un segmento que usa para el almacenamiento temporal cuando despliega nuevas versiones de tu aplicación. Este segmento, llamado staging.project-id.appspot.com, solo puede usarlo App Engine. Las aplicaciones no pueden interactuar con este contenedor.

Definir permisos de segmentos y objetos

La cuenta de servicio asociada a tu aplicación necesita permisos para leer y escribir en los segmentos de tu proyecto. Para saber qué permisos son necesarios, consulta Roles de gestión de identidades y accesos para Cloud Storage.

Normalmente, la cuenta de servicio asociada a tu aplicación es la cuenta de servicio predeterminada de App Engine.

En función de la configuración de la política de tu organización, es posible que se conceda automáticamente el rol Editor a la cuenta de servicio predeterminada de tu proyecto. Te recomendamos que inhabilites la asignación automática de roles aplicando la restricción de la política de organización iam.automaticIamGrantsForDefaultServiceAccounts. Si has creado tu organización después del 3 de mayo del 2024, esta restricción se aplica de forma predeterminada.

Si inhabilitas la concesión automática de roles, debes decidir qué roles quieres conceder a las cuentas de servicio predeterminadas y, a continuación, concederlos tú mismo.

Si la cuenta de servicio predeterminada ya tiene el rol Editor, te recomendamos que lo sustituyas por roles con menos permisos.Para modificar los roles de la cuenta de servicio de forma segura, usa Simulador de políticas para ver el impacto del cambio y, a continuación, asigna y revoca los roles adecuados.

Para obtener información sobre cómo permitir que otros usuarios, aplicaciones o proyectos accedan a un contenedor y a su contenido, consulta Definir permisos de contenedor y Definir permisos de objeto.

Usar Cloud Storage con el servidor de desarrollo local

El servidor de desarrollo local de App Engine no emula Cloud Storage, por lo que todas las solicitudes de Cloud Storage deben enviarse a través de Internet a un segmento de Cloud Storage real.

Precios, cuotas y límites

No se aplican cargos por el ancho de banda asociado a las llamadas de la biblioteca de cliente de Cloud Storage a Cloud Storage. Sin embargo, hay cargos por operaciones. Además, las llamadas se contabilizan en tu cuota de obtención de URLs, ya que la biblioteca usa el servicio de obtención de URLs para interactuar con Cloud Storage.

Ten en cuenta que Cloud Storage es un servicio de pago por uso, por lo que se te cobrará según la hoja de precios de Cloud Storage.