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:
- Defina as informações de configuração da versão que quer implementar.
- Defina uma secção
deploymentpara 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:
- Crie um nome de ficheiro
app.json. - Use as informações de configuração fornecidas na coleção apps.services.versions para definir e configurar a versão que quer implementar.
- Use o modelo na secção Defining the
deploymentpara 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:
Localize e anote o caminho do diretório para o seu
app.yaml.Exemplo:
cd root/apps-container/my-application/Onde o
app.yamlda aplicaçãoexample-python-app.pypode ter o seguinte aspeto:service: default version: v1 runtime: python27 threadsafe: true handlers: - url: /.* script: example-python-app.pyNavegue para o diretório local onde transferiu a ferramenta
convert_yaml.py, por exemplo:cd root/tools/appengine-config-transformerCrie o ficheiro
app.jsona partir do ficheiroapp.yamlexecutando a ferramentaconvert_yaml.py:python ./convert_yaml.py [DIRECTORY_PATH]/app.yaml > [DIRECTORY_PATH]/app.jsonEm que
[DIRECTORY_PATH]é o caminho do diretório para o seu ficheiroapp.yaml.É criada uma versão JSON (
app.json) do seu ficheiroapp.yamlno diretório[DIRECTORY_PATH].Certifique-se de que o ID da sua versão está definido no
app.jsonficheiro de configuração.Se o seu ficheiro
app.yamlexcluir o elementoversion: [VERSION_NAME], o elemento"id": [VERSION_NAME]não é incluído no ficheiroapp.jsonapós a conversão. Por exemplo, se quiser definir o ID da versão comov1, tem de adicionar manualmente a seguinte linha ao ficheiroapp.json:"id": "v1",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,
}