/ / Como passar uma variável de app.yaml para main.py com o Python do Google App Engine - python, google-app-engine

Como passar uma variável de app.yaml para main.py com o Python do Google App Engine - python, google-app-engine

Eu estou tentando passar algumas variáveis ​​de configuração para o meu main.py de app.yaml. Eu não consegui localizar a sintaxe para acessar app.yaml do código.

Por exemplo, você quer que o usuário coloque o seuo número do cliente em app.yaml e acesse-o de main.py para passar para main.html. Embora seja fácil criar uma variável em main.py para passá-la, parece ser algo que seria melhor colocado em app.yaml.

Exemplo:

app.yaml

    application: xyz
version: 1
runtime: python27
...
clientID: (ID here)

main.py

    myID = appYAML.clientID
...
values = {"xyz": blah.blah, "myID": myID }

main.html

    ...
<script>
...
{% ifequal myID %}
my_client = {{myID}}
...
</script>

Respostas:

9 para resposta № 1

Com a versão 1.6.5, o App Engine suporta isso [1]:

- In your app.yaml file, you can include an env_variables stanza that will set
the given environment variables in your application"s runtime.

Informações sobre como usar isso estão disponíveis em: https://cloud.google.com/appengine/docs/python/config/appconfig#Python_app_yaml_Defining_environment_variables.


4 para resposta № 2

Isso não é suportado e você deve colocar as configurações específicas do aplicativo em seu próprio arquivo YAML.


2 para resposta № 3

Você pode definir variáveis ​​em app.yaml para torná-los disponíveis para o programa "s os.environ dicionário:

env_variables:
variable_name: "<YOUR VALUE>"

Quando você precisar usar esta variável dentro do arquivo main.py, você pode chamar assim:

import os
CUSTOM_SETTINGS = os.environ["variable_name"]

Documentação: https://developers.google.com/appengine/docs/python/config/appconfig#Python_app_yaml_Defining_environment_variables