Como criar arquivos de configuração JSON para implantações

Para implantar uma versão do seu aplicativo com a API Admin, defina os detalhes de configuração da versão em um arquivo no formato JSON. Também é possível criar manualmente o arquivo de configuração ou converter um arquivo app.yaml existente.

A criação de um arquivo de configuração no formato JSON se divide em duas partes:

  1. Definição das informações de configuração para a versão que você quer implantar.
  2. Definição de uma seção deployment para especificar todos os arquivos e recursos do aplicativo que você quer implantar.

Dica: pense na possibilidade de gerar de forma programática o arquivo de configuração app.json.

Antes de começar

Faça o upload de todos os arquivos e recursos do app em um intervalo do Cloud Storage antes de criar o arquivo de configuração app.json.

Como criar manualmente o arquivo de configuração JSON

Siga as seguintes etapas se precisar criar manualmente o arquivo de configuração se, por exemplo, seu aplicativo excluir um app.yaml ou o aplicativo Java existente usar um arquivo appengine-web.xml.

Para criar manualmente o arquivo de configuração app.json e implantar seu aplicativo com a API Admin:

  1. Crie um arquivo com o nome app.json.
  2. Use as informações de configuração fornecidas na coleção apps.services.versions para definir e configurar a versão a ser implantada.
  3. Use o modelo na seção Como definir a seção deployment para especificar todos os arquivos e recursos a serem implantados no intervalo do Cloud Storage.

Consulte a seção Exemplo abaixo para ver como criar o arquivo de configuração app.json.

Como converter um arquivo app.yaml para o formato JSON

Use a ferramenta convert_yaml.py para converter e gerar uma versão do app.json com base em um arquivo app.yaml existente.

Se já houver um arquivo app.yaml que seja usado para implantar manualmente versões do seu aplicativo, mantenha essas informações e converta as definições de configuração para o formato JSON.

Pré-requisito

Faça o download e instale a ferramenta convert_yaml.py, incluindo os requisitos especificados.

Como converter arquivos YAML com a ferramenta convert_yaml.py

Para converter o arquivo app.yaml com a ferramenta convert_yaml.py, siga estas etapas:

  1. Localize e anote o caminho para o diretório do app.yaml.

    Exemplo:

    cd root/apps-container/my-application/
    

    em que o app.yaml do aplicativo example-python-app.py pode ser semelhante a:

    service: default
    version: v1
    runtime: python27
    threadsafe: true
    
    handlers:
    - url: /.*
      script: example-python-app.py
    
  2. Navegue até o diretório local em que foi feito o download da ferramenta convert_yaml.py, por exemplo:

    cd root/tools/appengine-config-transformer
    
  3. Crie o arquivo app.json com base no arquivo app.yaml executando a ferramenta convert_yaml.py:

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

    em que [DIRECTORY_PATH] é o caminho para o diretório do arquivo app.yaml.

    Uma versão JSON (app.json) do arquivo app.yaml é criada no diretório [DIRECTORY_PATH].

  4. Verifique se o código da versão está definido no arquivo de configuração app.json.

    Se o arquivo app.yaml não incluir o elemento version: [VERSION_NAME], o elemento "id": [VERSION_NAME] não será incluído no arquivo app.json após a conversão. Por exemplo, para configurar o código da versão como v1, inclua manualmente a linha abaixo no arquivo app.json:

    "id": "v1",
    
  5. Use o modelo em Como definir a seção deployment para especificar todos os arquivos e recursos a serem implantados.

Consulte a seção Exemplo abaixo para ver como criar o arquivo de configuração app.json.

Como definir a seção deployment

Para criar uma seção deployment no arquivo de configuração app.json e definir manualmente todos os recursos localizados no intervalo do Cloud Storage, use as informações de referência na seção deployment da coleção apps.services.versions. Se estiver definindo arquivos individuais, use o modelo a seguir:

"deployment": {
  "files": {
    "my-resource-file1": {
      "sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/my-application/my-resource-file1"
    },
  }
},

em que my-resource-file1 representa o nome do arquivo e o caminho de diretório relativo para o local em que você quer implantar o arquivo no App Engine.

Exemplo de arquivo app.json

Use o exemplo app.json a seguir para ajudar você a criar o arquivo de configuração.

No exemplo do app.json a seguir, o código da versão v1 é definido junto com uma seção deployment que inclui dois exemplos de arquivos de origem do intervalo [MY_BUCKET_ID] do Cloud Storage.

{
  "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,
}

Dica: nem todos os ambientes de execução compatíveis com o App Engine incluem suporte para um ScriptHandler. Veja mais informações na referência do app.yaml ou appengine-web.xml correspondente ao ambiente de execução da sua linguagem.

Próximas etapas

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

API Admin do App Engine