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 estará lista para usar. 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 juntos para compilar aplicaciones geoespaciales aplicaciones escalables. Por lo general, el 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 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 registrarse 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 tus usuarios deben registrarse en Earth Engine y acceder antes de usar la aplicación.
El directorio de demostraciones de Earth Engine App Engine en GitHub contiene un conjunto de ejemplos útiles de App Engine. Consulta la página de aplicaciones de ejemplo 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 instrucciones a continuación, se explica cómo implementar las apps de demostración. 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 use tu app. El
config.py archivo contiene código de autenticación con 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. Al archivo de claves, asígnale el nombre .private-key.json y muévelo
al directorio de tu proyecto.
Python
Si aún no lo hiciste, primero configura la API de Earth Engine 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 debe cambiar
ya que está en el directorio de tu proyecto).
Node.js
Para instalar las dependencias del proyecto, ejecuta npm install. La API de Earth Engine
Node.js y cualquier otra dependencia se copiarán a una carpeta ./node_modules
en el directorio de tu proyecto. Si falla la instalación, verifica que
esté instalada una versión reciente de Node.js. Autentica e inicializa la biblioteca,
reemplazando my-project por el ID de tu proyecto de Google Cloud:
const ee = require('@google/earthengine'); ee.data.authenticateViaPrivateKey('.private-key.json'); ee.initialize(null, null, null, null, null, 'my-project');
ID de cliente de OAuth 2.0
Si deseas que los usuarios se autentiquen por sí mismos (en lugar de usar una cuenta de servicio), debes configurar un ID de cliente de OAuth desde tu proyecto de Cloud. Para eso, sigue 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.jsesté 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, cópialo desdeearthengine-api/javascript/builden 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 y, luego, 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 a una carpeta ./lib en el directorio de tu proyecto.
Para verificar que las herramientas de línea de comandos de App Engine estén disponibles, ejecuta lo siguiente:
dev_appserver.py
Si no se encuentra el comando, intenta descargar e instalar manualmente el Google App Engine SDK para Python. Si el comando está disponible, debería fallar con "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. Intenta probar los ejemplos de forma local primero. Para ello, ve al directorio de tu
proyecto y ejecuta lo siguiente:
Python
dev_appserver.py .
Node.js
npm install npm start
Dirige el navegador a http://localhost:8080 para ver la app que se ejecuta en un servidor local. Los cambios que realices (y guardes) se detectarán automáticamente cuando actualices la página.