O comando appcfg.py
utiliza um conjunto de opções, uma ação e argumentos para a ação. Esse comando é usado em uma grande variedade de tarefas de gerenciamento de aplicativos, inclusive na implantação do aplicativo e na atualização de índices do armazenamento de dados.
A ferramenta appcfg
está incluída apenas no SDK original do App Engine, que você
pode fazer o download e instalar no SDK original do App Engine para Python 2.
O SDK do App Engine é atualizado sempre, e esta lista de argumentos pode estar desatualizada. Digite appcfg.py help
para ver a lista de todas as ações disponíveis, e appcfg.py help <action>
para detalhes sobre uma determinada ação.
update
appcfg.py [options] update <app-directory>|<files...>
A ação de atualização cria ou atualiza a versão do aplicativo nomeada no arquivo
app.yaml
no nível superior do diretório.Se você especificar um diretório, ele precisará conter um arquivo
app.yaml
e todos os outros arquivos exigidos pelo aplicativo ou o módulo que oapp.yaml
define.Se o diretório contiver arquivos de configurações de aplicativo globais (
index.yaml
,queues.yaml
,dispatch.yaml
,dos.yaml
,cron.yaml
), use o comando update específico de cada um deles para implantar esse arquivo de configuração. Por exemplo, useupdate_dispatch
para implantar o arquivo de expedição,update_cron
para implantar o arquivo cron etc.O comando segue symlinks e faz upload de maneira recursiva de todos os arquivos no servidor. Os arquivos de controle temporário ou origem, como
foo~
e.svn/*
, são ignorados.Use o argumento files para fazer upload de um ou mais arquivos YAML que definam módulos. Nenhum outro tipo de arquivo YAML pode ser exibido na linha de comando. Somente os módulos especificados serão atualizados.
As seguintes opções aplicam-se a
update
:--max_size
- Tamanho máximo de um arquivo para upload (em bytes).
--no_precompilation
- Desativa a pré-compilação automática do Python. A pré-compilação aumenta o desempenho de um aplicativo e reduz o tempo para importar um módulo ou um arquivo do Python, o que pode aumentar a velocidade da primeira solicitação processada por uma instância do aplicativo. Se você encontrar erros de pré-compilação ao implantar o aplicativo, tente especificar esse parâmetro.
help
appcfg.py help <action>
- Imprime uma mensagem de ajuda sobre a ação indicada e sai.
cron_info
appcfg.py [options] cron_info <app-directory>
- Exibe informações sobre a configuração da tarefa programada (cron), inclusive os tempos esperados das próximas execuções. Por padrão, exibe os tempos das 5 próximas execuções. Use a opção
--num_runs=...
para modificar o tempo exibido de execuções futuras.
download_app
appcfg.py download_app -A <project_id> -V <version> <output-dir>
Recupera a versão mais atual do código do aplicativo usando as seguintes opções:
-A
- Obrigatório. O ID do projeto.
-V
- Opcional. Especifica a versão do código para download. Se omitida, será feito download da versão padrão.
<output-dir>
- Obrigatório. O diretório onde você quer salvar os arquivos.
request_logs
appcfg.py [options] request_logs <app-directory> <output-file>
Recupera os dados de registro do aplicativo em execução no App Engine. Se a sinalização
--append
estiver definida, o parâmetrooutput-file
será o nome do arquivo a ser criado, substituído ou anexado. Seoutput-file
for um hífen (-
), os dados de registro serão impressos no console. As opções abaixo são aplicáveis arequest_logs
:--num_days=...
- O número de dias de dados de registro a serem recuperados, finalizando na data atual à meia-noite UTC. O valor 0 recupera todos os registros disponíveis. Se
--append
for fornecido, o padrão é 0. Caso contrário, o padrão é 1. --end_date=...
A data mais recente do retorno de dados do registro, no formulário
YYYY-MM-DD
. O padrão é hoje. A opção--num_days
faz contagem regressiva a partir da data final.--severity=...
O nível de registro mínimo para as mensagens de registro a serem recuperadas. O valor é um número correspondente ao nível de registro: 4 para CRITICAL, 3 para ERROR, 2 para WARNING, 1 para INFO, 0 para DEBUG. Todas as mensagens no nível de registro indicado e acima são recuperadas. O padrão é 1 (INFORMAÇÕES).
--append
Anexa os dados buscados ao arquivo de saída, começando com a primeira linha de registro ainda não presente no arquivo. Executar essa ação uma vez por dia com
--append
resulta em um arquivo que contém todos os dados de registro.O padrão é substituir o arquivo de saída. Não aplicável se
output-file
for-
(impresso no console).--vhost=...
Se estiver presente, limitará as mensagens de registro baixadas apenas às emitidas por solicitações em um determinado nome de domínio. Por exemplo,
--vhost=google.com
faz download apenas de mensagens de registro do aplicativo ativo no domíniogoogle.com
do G Suite, exceto aquelas emitidas por uma nova versão sendo testada emhttps://2-dot-latest-dot-your_project_id.[REGION_ID].r.appspot.com
. Da mesma forma,--vhost=2.latest.your_project_id.[REGION_ID].r.appspot.com
faz download apenas dos registros para a versão de teste, excluindo a versão ao vivo.O valor é uma expressão regular que combina o cabeçalho
Host
das solicitações recebidas. O padrão diferencia maiúsculas de minúsculas, embora os nomes de domínio normalmente não façam isso.--include_vhost
Inclua o nome de domínio de cada solicitação (o cabeçalho de solicitação
Host
) nos dados do registro de solicitação, como um campo adicional.
rollback
appcfg.py [options] rollback <app-directory>
- Reverte uma atualização concluída parcialmente para o aplicativo indicado. Use-a se uma atualização tiver sido interrompida e o comando estiver informando que o aplicativo não pode ser atualizado por causa de um bloqueio.
set_default_version
appcfg.py [options] set_default_version <app-directory>
- Especifica a versão padrão do módulo indicado.
migrate_traffic
appcfg.py [options] migrate_traffic <app-directory>
- Implementa a migração de tráfego. Reencaminha dinamicamente o tráfego da versão padrão (veiculada) do aplicativo para a versão especificada no app.yaml. O tráfego é movido da versão anterior para a nova em alguns minutos, dependendo da quantidade de tráfego que o aplicativo está recebendo e de quantas instâncias estão em execução. Depois que todo o tráfego for migrado, a versão padrão (veiculada) do app será redefinida para a nova versão.
list_versions
appcfg.py [options] list_versions <app-directory>
- Produz as versões enviadas para cada módulo de um aplicativo em YAML. O YAML é formatado como uma matriz associativa, mapeando
module_ids
para a lista de versões enviadas para esse módulo. A versão padrão é a primeira na lista.
delete_version
appcfg.py [options] delete_version -A project_id -V version
- Exclui a versão especificada para o aplicativo especificado.
update_cron
appcfg.py [options] update_cron <app-directory>
- Atualiza a configuração da tarefa agendada (cron) para o aplicativo, com base no arquivo
cron.yaml
.
update_dos
appcfg.py [options] update_dos <app-directory>
- Atualiza a configuração da proteção DoS para o aplicativo, com base no arquivo
dos.yaml
.
update_indexes
appcfg.py [options] update_indexes <app-directory>
- Atualiza índices do armazenamento de dados no App Engine para incluir índices recém-adicionados. Se uma nova versão do aplicativo exigir uma definição de índice adicional que tenha sido adicionada a index.yaml, você poderá atualizar as definições de índice no App Engine antes de fazer upload da nova versão do aplicativo. Executar essa ação por algumas horas antes de fazer upload da nova versão do aplicativo dá aos índices tempo para construir e já veicular quando o aplicativo for implantado.
update_queues
appcfg.py [options] update_queues <app-directory>
- Atualiza a configuração de fila de tarefas para o aplicativo, baseada no arquivo
queue.yaml
.
update_dispatch
appcfg.py [options] update_dispatch <app-directory>
- Atualiza a expedição do app, com base no arquivo
dispatch.yaml
.
start_module_version
appcfg.py [options] start_module_version <app-directory>
Inicia a versão de módulo especificada.
Use as opções
--module
e--version
para substituir as configurações no arquivoapp.yaml
.
stop_module_version
appcfg.py [options] stop_module_version <app-directory>
Interrompe a versão de módulo especificada.
Use as opções
--module
e--version
para substituir as configurações no arquivoapp.yaml
.
vacuum_indexes
appcfg.py [options] vacuum_indexes <app-directory>
- Exclui índices de armazenamento de dados não usados do App Engine. Ao remover as definições de índice de
index.yaml
, os índices não usados se acumulam porque essa ação não os exclui automaticamente do App Engine. Invocar esse comando exclui todos esses índices não usados do App Engine.
Opções globais
O comando appcfg.py
aceita as seguintes opções para todas as ações:
--application=...
- O ID do projeto a ser usado. Por padrão, isso é derivado da linha
application:
no arquivoapp.yaml
no diretório do aplicativo. Se--application
for especificado, ele substituirá o ID emapp.yaml
para essa ação.
--force
- Força a exclusão de índices não usados. Por padrão, fazer upload de um aplicativo não excluirá índices inutilizados do servidor, mesmo se eles não aparecerem no arquivo
index.yaml
.
--host=...
- O nome do host da máquina local a ser usado com chamadas de procedimento remoto.
--max_size=...
- Um tamanho máximo de arquivos para upload, como um número de bytes. Arquivos maiores que esse tamanho não serão enviados. O padrão é
10485760
. O servidor aplica um tamanho de arquivo máximo de 10.485.760 bytes. Dessa forma, aumentar esse valor não terá nenhum efeito. --module=...
- O nome do módulo a ser usado. Por padrão, isso é derivado da linha
module:
no arquivoapp.yaml
no diretório do aplicativo. Se--module
for especificado, ele substituirá o valor emapp.yaml
para a ação. - Não armazene o token de acesso do usuário. Siga sempre o fluxo OAuth2.
--noisy
- Imprime muitas mensagens sobre o que o comando está fazendo. Isso é muito útil durante o trabalho com a equipe do App Engine para solucionar um problema de upload.
--noauth_local_webserver
- Não usa o navegador da Web a fim de exibir páginas da Web para autenticação. Isso será útil para autenticação OAuth2 se você estiver conectado remotamente a uma máquina. Essa sinalização se aplica apenas a OAuth2.
--oauth2_refresh_token=token
- Usar um token de atualização OAuth2 para autenticar em vez do padrão já armazenado no diretório inicial do usuário.
--quiet
- Não imprime mensagens quando bem-sucedido.
--server=...
- O nome do host do servidor do App Engine. O padrão é
appengine.google.com
. --verbose
- Imprime mensagens sobre o que o comando está fazendo.
--version=...
- O ID da versão a ser usado. Por padrão, isso é derivado da linha
version:
no arquivoapp.yaml
no diretório do aplicativo. Se--version
for especificado, ele substituirá o ID de versão emapp.yaml
para essa ação.