Para implementar una versión de tu aplicación con la API de administrador, define los detalles de la configuración de tu versión con un archivo con formato JSON. Puedes crear el archivo de configuración de forma manual o convertir un archivo app.yaml
existente.
Hay dos pasos para crear un archivo de configuración con formato JSON:
- Define la información de configuración de la versión que deseas implementar.
- Define una sección
deployment
para especificar todos los archivos y recursos de la aplicación que deseas implementar.
Antes de comenzar
Debes subir todos los archivos y recursos de tu app a un bucket de Cloud Storage antes de que puedas crear el archivo de configuración app.json
.
Crea el archivo de configuración JSON manualmente
Sigue los pasos que se indican a continuación si necesitas crear el archivo de configuración de forma manual, por ejemplo, cuando la app excluya un app.yaml
o la app de Java existente use un archivo appengine-web.xml
.
A fin de crear de forma manual el archivo de configuración app.json
para implementar la app con la API de Administrador, haz lo siguiente:
- Crea el nombre de archivo
app.json
. - Usa la información de configuración que se proporciona en la colección apps.services.versions para definir y configurar la versión que quieres implementar.
- Usa la plantilla de Crea la sección
deployment
para especificar todos los archivos y recursos que quieres implementar desde tu bucket de Cloud Storage.
Consulta también la sección Ejemplo a continuación, ya que te ayudará con la creación de tu archivo de configuración app.json
.
Convierte un archivo app.yaml
al formato JSON
Puedes usar la herramienta de convert_yaml.py
para convertir y generar una versión de app.json
desde un archivo app.yaml
existente.
Si existe un archivo app.yaml
, que por lo general usas para implementar versiones de tu app de forma manual, puedes conservar esa información si conviertes las opciones de configuración al formato JSON.
Requisitos
Descarga e instala la herramienta de convert_yaml.py
, incluidos los requisitos especificados.
Convierte archivos YAML con la herramienta de convert_yaml.py
Para convertir el archivo app.yaml
con la herramienta de convert_yaml.py
, haz lo siguiente:
Ubica y anota la ruta de acceso del directorio al archivo
app.yaml
.Ejemplo:
cd root/apps-container/my-application/
En el que el archivo
app.yaml
de la aplicaciónexample-python-app.py
podría tener el siguiente aspecto:service: default version: v1 runtime: python27 threadsafe: true handlers: - url: /.* script: example-python-app.py
Navega al directorio local en el que descargaste la herramienta
convert_yaml.py
, por ejemplo:cd root/tools/appengine-config-transformer
Para crear el archivo
app.json
desde el archivoapp.yaml
, ejecuta la herramientaconvert_yaml.py
:python ./convert_yaml.py [DIRECTORY_PATH]/app.yaml > [DIRECTORY_PATH]/app.json
En el ejemplo anterior,
[DIRECTORY_PATH]
es la ruta de acceso a tu archivoapp.yaml
.Se crea una versión JSON (
app.json
) de tu archivoapp.yaml
en el directorio[DIRECTORY_PATH]
.Asegúrate de que el ID de tu versión esté definido en el archivo de configuración
app.json
.Si tu archivo
app.yaml
excluye el elementoversion: [VERSION_NAME]
, no se incluye el elemento"id": [VERSION_NAME]
en tu archivoapp.json
después de la conversión. Por ejemplo, si deseas configurar el ID de versión comov1
, debes agregar de forma manual la siguiente línea a tu archivoapp.json
:"id": "v1",
Usa la plantilla de Crea la sección
deployment
para especificar todos los archivos y recursos de la app que deseas implementar.
Consulta también la sección Ejemplo a continuación, ya que te ayudará con la creación de tu archivo de configuración app.json
.
Crea la sección deployment
Para crear una sección deployment
en el archivo de configuración app.json
y definir de forma manual todos los recursos que se encuentran en el bucket de Cloud Storage, usa la información de referencia en deployment
de la colección apps.services.versions
. Si estás definiendo archivos individuales, puedes usar la siguiente plantilla:
"deployment": {
"files": {
"my-resource-file1": {
"sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/my-application/my-resource-file1"
},
}
},
En el ejemplo anterior, my-resource-file1
define el nombre del archivo y la ruta de acceso relativa del directorio en el que deseas implementar ese archivo en App Engine.
Archivo app.json
de ejemplo
Usa el siguiente ejemplo de app.json
para crear tu archivo de configuración.
En el siguiente ejemplo app.json
, el ID de versión v1
se define junto con una sección deployment
que incluye dos archivos de origen de ejemplo del bucket de Cloud Storage [MY_BUCKET_ID]
.
{
"deployment": {
"files": {
"example-resource-file1": {
"sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/example-application/example-resource-file1"
},
"images/example-resource-file2": {
"sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/example-application/images/example-resource-file2"
},
}
},
"id": "v1",
"handlers": [
{
"urlRegex": "/.*",
"script": {
"scriptPath": "example-python-app.py"
}
},
],
"runtime": "python27",
"threadsafe": true,
}