Google App Engine te permite compilar y ejecutar tus propias aplicaciones personalizadas en los servidores de Google. Las aplicaciones de App Engine son fáciles de crear, mantener y escalar a medida que cambian tus necesidades de almacenamiento de datos y tráfico. Solo debes subir el código fuente de tu aplicación y listo. Si es la primera vez que desarrollas para App Engine, asegúrate de consultar la guía de inicio rápido de App Engine para Python o Node.js antes de continuar.
Earth Engine y App Engine se pueden usar en conjunto para compilar aplicaciones geoespaciales escalables. Por lo general, tu código de App Engine incluye la biblioteca cliente de Python de Earth Engine y realiza solicitudes al backend de Earth Engine con una cuenta de servicio. Esto es ventajoso porque permite que cualquier persona use tu app sin acceder ni ser un usuario registrado de Earth Engine. Ten en cuenta que los límites de uso estándar de Earth Engine se aplican a cada cuenta de servicio.
Otro enfoque de desarrollo es usar la autenticación del cliente en lugar de una cuenta de servicio. Con este enfoque, los visitantes de tu aplicación deben estar registrados en Earth Engine y acceder. El beneficio de este enfoque es que las solicitudes a Earth Engine se realizan con las credenciales del usuario final, por lo que es menos probable que alcances los límites de uso. El desafío es que los usuarios deben registrarse en Earth Engine y acceder antes de usar la aplicación.
El directorio de demostraciones de App Engine de Earth Engine en GitHub contiene un conjunto de ejemplos útiles de App Engine. Consulta la página de ejemplos de apps para obtener una breve descripción de cada ejemplo. En este documento, se proporcionan instrucciones para configurar y, luego, implementar los ejemplos o las apps personalizadas que crees.
Implementa apps de App Engine con Earth Engine
En las siguientes instrucciones, se explica cómo implementar las apps de demo. Las instrucciones de Python están destinadas a Mac OS y Linux. Si usas Python en Windows, prueba esto.
Habilita la API de Earth Engine en tu proyecto de Google Cloud
Crea o selecciona un proyecto de Google Cloud y habilita la API de Earth Engine según estas instrucciones.
Configura las credenciales
Cuenta de servicio
Se puede usar una cuenta de servicio para autorizar solicitudes a Earth Engine en nombre de quien usa tu app. El archivo config.py
contiene el código de autenticación que usa la dirección de correo electrónico de la cuenta de servicio y un archivo de clave privada. Para configurar la autenticación con una cuenta de servicio,
sigue estas instrucciones para crear la cuenta de servicio
y el archivo de clave privada. Asigna el nombre .private-key.json
al archivo de clave y muévelo al directorio de tu proyecto.
Python
Si aún no lo hiciste, primero configura la API de Earth Engine para Python. Prueba la cuenta de servicio según estas instrucciones.
Si la prueba se realiza correctamente, actualiza config.py
(o un archivo equivalente en tu código fuente) con la dirección de correo electrónico de tu cuenta de servicio. (la ruta de acceso al archivo de claves no debería cambiar,
ya que está en el directorio de tu proyecto).
Node.js
Ejecuta npm install
para instalar las dependencias del proyecto. La API de Earth Engine
para Node.js y cualquier otra dependencia se copiarán en una carpeta ./node_modules
del directorio de tu proyecto. Si la instalación falla, comprueba que esté instalada una versión reciente de Node.js.
const ee = require('@google/earthengine'); ee.data.authenticateViaPrivateKey('.private-key.json'); ee.initialize();
ID de cliente de OAuth 2.0
Si deseas que los usuarios se autentiquen como ellos mismos (en lugar de usar una cuenta de servicio), debes configurar un ID de cliente de OAuth desde tu proyecto de Cloud. Para eso, siga estos pasos:
- Configura un ID de cliente según estas instrucciones.
- Actualiza
static/script.js
(o un archivo equivalente en tu código fuente) para usar tu ID de cliente. - Asegúrate de que
ee_api_js.js
esté disponible en el directorio/static/
(o equivalente). Puedes descargarlo directamente desde GitHub, instalarlo desde npm o, si ya clonaste todo el repositorio de la API de EE, copiarlo desdeearthengine-api/javascript/build
en tu sistema de archivos local.
Configura el entorno de desarrollo local
Python
Sigue las instrucciones de cada directorio de ejemplo en GitHub para descargar y compilar el
proyecto. Si hay un archivo build.sh
, ejecútalo desde la carpeta raíz de la aplicación con el siguiente comando:
./build.sh
La secuencia de comandos de configuración descargará las dependencias e instalará las herramientas de línea de comandos de Google, si aún no existen en tu sistema. La API de Python de Earth Engine y sus dependencias se copiarán en una carpeta ./lib
en el directorio de tu proyecto.
Ejecuta el siguiente comando para verificar que las herramientas de línea de comandos de App Engine estén disponibles:
dev_appserver.py
Si no se encuentra el comando, intenta descargar e instalar manualmente el SDK de Google App Engine para Python. Si el comando está disponible, debería fallar con el mensaje “error: too few arguments”.
Node.js
No se necesita configuración.
Ejecuta de forma local
Una vez que tu cuenta de servicio esté
registrada
para el acceso a Earth Engine, podrás usarla para autenticarte (consulta config.py
)
cuando pruebes los ejemplos. Primero, prueba los ejemplos de forma local. Para ello, ve al directorio del proyecto y ejecuta lo siguiente:
Python
dev_appserver.py .
Node.js
npm install npm start
Dirige tu navegador a http://localhost:8080 para ver la app en ejecución en un servidor local. Los cambios que realices (y guardes) se detectarán automáticamente cuando actualices la página.