Crear archivos de configuración JSON para tus implementaciones

Para desplegar una versión de tu aplicación con la API Admin, debes definir los detalles de configuración de la versión en un archivo con formato JSON. Puedes crear el archivo de configuración manualmente o convertir un archivo app.yaml.

Para crear un archivo de configuración con formato JSON, debes seguir dos pasos:

  1. Define la información de configuración de la versión que quieras implementar.
  2. Define una sección deployment para especificar todos los archivos y recursos de tu aplicación que quieras implementar.

Antes de empezar

Antes de crear el archivo de configuración app.json, debes subir todos los archivos y recursos de tu aplicación a un segmento de Cloud Storage.

Crear manualmente el archivo de configuración JSON

Sigue estos pasos si necesitas crear manualmente el archivo de configuración, por ejemplo, cuando tu aplicación excluye un app.yaml o tu aplicación Java usa un archivo appengine-web.xml.

Para crear manualmente el archivo de configuración app.json para desplegar tu aplicación con la API Admin, sigue estos pasos:

  1. Crea un 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 quieras implementar.
  3. Usa la plantilla de la sección Definir el archivo deployment para especificar todos los archivos y recursos que quieras implementar desde tu bucket de Cloud Storage.

Consulta también la sección Ejemplo de abajo para obtener ayuda con la creación del archivo de configuración app.json.

Convertir un archivo app.yaml al formato JSON

Puedes usar la herramienta convert_yaml.py para convertir y generar una versión app.json a partir de un archivo app.yaml que ya tengas.

Si existe un archivo app.yaml, que normalmente usas para desplegar manualmente versiones de tu aplicación, puedes conservar esa información convirtiendo esos ajustes de configuración al formato JSON.

Requisitos previos

Descarga e instala la herramienta convert_yaml.py, incluidos los requisitos especificados.

Convertir archivos YAML con la herramienta convert_yaml.py

Para convertir tu archivo app.yaml con la herramienta convert_yaml.py, sigue estos pasos:

  1. Busca y anota la ruta del directorio de tu app.yaml.

    Ejemplo:

    cd root/apps-container/my-application/
    

    Donde el app.yaml de la aplicación example-python-app.py podría ser el siguiente:

    service: default
    version: v1
    runtime: python27
    threadsafe: true
    
    handlers:
    - url: /.*
      script: example-python-app.py
    
  2. Ve al directorio local en el que has descargado la herramienta convert_yaml.py. Por ejemplo:

    cd root/tools/appengine-config-transformer
    
  3. Crea el archivo app.json a partir del archivo app.yaml ejecutando la herramienta convert_yaml.py:

    python ./convert_yaml.py [DIRECTORY_PATH]/app.yaml > [DIRECTORY_PATH]/app.json
    

    Donde [DIRECTORY_PATH] es la ruta del directorio de tu archivo app.yaml.

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

  4. Asegúrate de que el ID de tu versión esté definido en el app.jsonarchivo de configuración.

    Si el archivo app.yaml excluye el elemento version: [VERSION_NAME], el elemento "id": [VERSION_NAME] no se incluirá en el archivo app.json después de la conversión. Por ejemplo, si quieres definir el ID de versión como v1, debes añadir manualmente la siguiente línea al archivo app.json:

    "id": "v1",
    
  5. Usa la plantilla de la sección Definir el deployment section para especificar todos los archivos y recursos de tu aplicación que quieras implementar.

Consulta también la sección Ejemplo de abajo para obtener ayuda con la creación del archivo de configuración app.json.

Definir la sección deployment

Para crear una sección deployment en el archivo de configuración app.json y definir manualmente todos los recursos que se encuentran en tu segmento de Cloud Storage, usa la información de referencia de la deploymentsección de la colección apps.services.versions. Si vas a definir 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"
    },
  }
},

Donde my-resource-file1 define el nombre del archivo y la ruta del directorio relativo en el que quieres 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 de app.json, se define el ID de versión v1 junto con una sección deployment que incluye dos archivos de origen de ejemplo del segmento 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,
}

Siguientes pasos