Crea archivos de configuración JSON para tus implementaciones

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:

  1. Define la información de configuración de la versión que deseas implementar.
  2. 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:

  1. Crea el nombre de archivo app.json.
  2. 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.
  3. 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:

  1. 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ón example-python-app.py podría tener el siguiente aspecto:

    service: default
    version: v1
    runtime: python27
    threadsafe: true
    
    handlers:
    - url: /.*
      script: example-python-app.py
    
  2. Navega al directorio local en el que descargaste la herramienta convert_yaml.py, por ejemplo:

    cd root/tools/appengine-config-transformer
    
  3. Para crear el archivo app.json desde el archivo app.yaml, ejecuta la herramienta convert_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 archivo app.yaml.

    Se crea una versión JSON (app.json) de tu archivo app.yaml en el directorio [DIRECTORY_PATH].

  4. 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 elemento version: [VERSION_NAME], no se incluye el elemento "id": [VERSION_NAME] en tu archivo app.json después de la conversión. Por ejemplo, si deseas configurar el ID de versión como v1, debes agregar de forma manual la siguiente línea a tu archivo app.json:

    "id": "v1",
    
  5. 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,
}

¿Qué sigue?