Criar ficheiros de configuração JSON para as suas implementações

Para implementar uma versão da sua app com a API Admin, defina os detalhes de configuração da sua versão através de um ficheiro formatado em JSON. Pode criar manualmente o ficheiro de configuração ou converter um ficheiro app.yaml existente.

Existem duas partes na criação de um ficheiro de configuração formatado em JSON:

  1. Defina as informações de configuração da versão que quer implementar.
  2. Defina uma secção deployment para especificar todos os ficheiros e recursos da sua app que quer implementar.

Antes de começar

Primeiro, tem de carregar todos os ficheiros e recursos da sua app para um contentor do Cloud Storage antes de poder criar o ficheiro de configuração app.json.

Criar manualmente o ficheiro de configuração JSON

Use os seguintes passos se precisar de criar manualmente o ficheiro de configuração, por exemplo, quando a sua app exclui um app.yaml ou a sua app Java existente usa um ficheiro appengine-web.xml.

Para criar manualmente o ficheiro de configuração app.json para implementar a sua app com a API Admin:

  1. Crie um nome de ficheiro app.json.
  2. Use as informações de configuração fornecidas na coleção apps.services.versions para definir e configurar a versão que quer implementar.
  3. Use o modelo na secção Defining the deployment para especificar todos os ficheiros e recursos que quer implementar a partir do seu contentor do Cloud Storage.

Consulte também a secção Exemplo abaixo para ajudar a criar o seu ficheiro de configuração app.json.

Converter um ficheiro app.yaml no formato JSON

Pode usar a ferramenta convert_yaml.py para converter e gerar uma versão app.json a partir de um ficheiro app.yaml existente.

Se existir um ficheiro app.yaml, que normalmente usa para implementar manualmente versões da sua app, pode reter essas informações convertendo essas definições de configuração no formato JSON.

Pré-requisito

Transfira e instale a ferramenta convert_yaml.py, incluindo os requisitos especificados.

Converter ficheiros YAML com a ferramenta convert_yaml.py

Para converter o seu ficheiro app.yaml com a ferramenta convert_yaml.py:

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

    Exemplo:

    cd root/apps-container/my-application/
    

    Onde o app.yaml da aplicação example-python-app.py pode ter o seguinte aspeto:

    service: default
    version: v1
    runtime: python27
    threadsafe: true
    
    handlers:
    - url: /.*
      script: example-python-app.py
    
  2. Navegue para o diretório local onde transferiu a ferramenta convert_yaml.py, por exemplo:

    cd root/tools/appengine-config-transformer
    
  3. Crie o ficheiro app.json a partir do ficheiro 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 do diretório para o seu ficheiro app.yaml.

    É criada uma versão JSON (app.json) do seu ficheiro app.yaml no diretório [DIRECTORY_PATH].

  4. Certifique-se de que o ID da sua versão está definido no app.json ficheiro de configuração.

    Se o seu ficheiro app.yaml excluir o elemento version: [VERSION_NAME], o elemento "id": [VERSION_NAME] não é incluído no ficheiro app.json após a conversão. Por exemplo, se quiser definir o ID da versão como v1, tem de adicionar manualmente a seguinte linha ao ficheiro app.json:

    "id": "v1",
    
  5. Use o modelo na secção Defining the deploymentpara especificar todos os ficheiros e recursos da sua app que quer implementar.

Consulte também a secção Exemplo abaixo para ajudar a criar o seu ficheiro de configuração app.json.

Definir a secção deployment

Para criar uma secção deployment no ficheiro de configuração app.json e definir manualmente todos os recursos localizados no seu contentor do Cloud Storage, use as informações de referência na secção deployment da coleção apps.services.versions. Se estiver a definir ficheiros individuais, pode usar o seguinte modelo:

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

Onde my-resource-file1 define o nome do ficheiro e o caminho do diretório relativo de onde quer implementar esse ficheiro no App Engine.

Ficheiro de exemplo app.json

Use o exemplo seguinte app.json para ajudar a criar o ficheiro de configuração.

No exemplo app.json seguinte, o ID da versão v1 é definido juntamente com uma secção deployment que inclui dois ficheiros de origem de exemplo do contentor do [MY_BUCKET_ID] 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,
}

O que se segue?