El comando appcfg.py
toma un conjunto de opciones, una acción y argumentos para la acción. Este comando se usa para varias tareas de administración de aplicaciones, entre ellas, implementar la app y actualizar los índices del almacén de datos.
La herramienta de appcfg
solo se incluye con el SDK original de App Engine, que puedes descargar y, luego, instalar en el SDK original de App Engine para PHP 5.
El SDK de App Engine se actualiza a menudo, por lo que esta lista de argumentos podría no estar actualizada. Escribe appcfg.py help
para ver la lista de todas las acciones disponibles y appcfg.py help <action>
a fin de ver los detalles de una acción en particular.
update
appcfg.py [options] update <app-directory>|<files...>
La acción de actualización crea o actualiza la versión de la app con nombre en el archivo
app.yaml
en el nivel superior del directorio.Si especificas un directorio, este debe contener un archivo
app.yaml
y todos los otros archivos que requiere la aplicación o el módulo que define el archivoapp.yaml
.Si el directorio contiene archivos de configuración de la aplicación global (
index.yaml
,queues.yaml
,dispatch.yaml
,dos.yaml
,cron.yaml
), usa el comando de actualización específico para cada uno de estos a fin de implementar el archivo de configuración. Por ejemplo, usaupdate_dispatch
para implementar el archivo de envío,update_cron
a fin de implementar el archivo cron, y así sucesivamente.El comando sigue enlaces simbólicos y sube todos los archivos al servidor de forma recurrente. Se omiten los archivos temporales o de control de versiones, como
foo~
y.svn/*
.Usa el argumento de archivos para subir uno o más archivos YAML que definen módulos. No puede aparecer ningún otro tipo de archivo YAML en la línea de comandos. Solo se actualizarán los módulos especificados.
La siguiente opción se aplica a
update
:--max_size
- Tamaño máximo de un archivo que se sube (en bytes).
help
appcfg.py help <action>
- Imprime un mensaje de ayuda sobre una acción determinada y, luego, se cierra.
cron_info
appcfg.py [options] cron_info <app-directory>
- Muestra información acerca de la configuración de la tarea programada (cron), incluidas las horas esperadas para las ejecuciones siguientes. De forma predeterminada, muestra cuándo se realizarán las 5 ejecuciones siguientes. Puedes modificar la cantidad de ejecuciones futuras que se muestran con la opción
--num_runs=...
.
download_app
appcfg.py download_app -A <project_id> -V <version> <output-dir>
Recupera la versión más reciente del código de tu aplicación usando las opciones siguientes:
-A
- Obligatorio El ID del proyecto.
-V
- Opcional. Especifica la versión del código que se descarga. Si se omite, se descarga la versión predeterminada.
<output-dir>
- Obligatorio El directorio donde deseas guardar los archivos.
request_logs
appcfg.py [options] request_logs <app-directory> <output-file>
Recupera datos de registros para la aplicación que se ejecuta en App Engine. Si la marca
--append
está configurada, el parámetrooutput-file
es el nombre del archivo para crear, reemplazar o agregar. Sioutput-file
es un guion (-
), los datos de registro se imprimen en la consola. Las siguientes opciones se aplican arequest_logs
:--num_days=...
- La cantidad de días para los que recuperar datos de registro, con finalización en la fecha actual a medianoche UTC. El valor 0 recupera todos los registros disponibles. Si se incluye
--append
, el valor predeterminado es 0; de lo contrario, el valor predeterminado es 1. --end_date=...
La fecha más reciente de datos de registros a mostrar, en el formato
YYYY-MM-DD
. La configuración predeterminada es hoy. La opción--num_days
cuenta hacia atrás desde la fecha de finalización.--severity=...
El nivel de registro mínimo para los mensajes de registro a recuperar. El valor es un número correspondiente al nivel de registro: 4 para CRÍTICO, 3 para ERROR, 2 para ADVERTENCIA, 1 para INFORMACIÓN, 0 para DEPURACIÓN. Se recuperan todos los mensajes en el nivel de registro especificado y superiores. El valor predeterminado es 1 (INFORMACIÓN).
--append
Adjunta los datos recuperados al archivo de salida, empezando por la línea de registro que no está presente en el archivo. Ejecutar esta acción una vez por día con
--append
genera un archivo que contiene todos los datos de registros.De forma predeterminada se reemplaza el archivo de salida. No se aplica si
output-file
es-
(se imprime en la consola).--vhost=...
Si está presente, limita los mensajes de registro que se descargan de modo que se incluyan solo aquellos emitidos por solicitudes para un nombre de dominio dado. Por ejemplo,
--vhost=google.com
descarga solo los mensajes de registro de la app en vivo en el dominio de G Suitegoogle.com
y excluye los mensajes de registro emitidos por una versión nueva que se prueba enhttps://2-dot-latest-dot-your_project_id.[REGION_ID].r.appspot.com
. De manera similar,--vhost=2.latest.your_project_id.[REGION_ID].r.appspot.com
descarga solo los registros para la versión de prueba y excluye la versión activa.El valor es una expresión regular que coincide con el encabezado
Host
de las solicitudes entrantes. Ten en cuenta que el patrón distingue entre mayúsculas y minúsculas, mientras que los nombres de los dominios no suelen hacerlo.--include_vhost
Incluye el nombre del dominio para cada solicitud (el encabezado de la solicitud
Host
) en los datos de registro de la solicitud como un campo adicional.
rollback
appcfg.py [options] rollback <app-directory>
- Revierte la actualización parcialmente completada de una aplicación dada. Puedes usarlo si se interrumpió la actualización o si el comando informa de que la aplicación no puede actualizarse debido a un bloqueo.
set_default_version
appcfg.py [options] set_default_version <app-directory>
- Especifica la versión predeterminada de un módulo dado.
migrate_traffic
appcfg.py [options] migrate_traffic <app-directory>
- Implementa la migración de tráfico. Vuelve a enrutar de forma dinámica el tráfico de la versión de la aplicación predeterminada actual (en funcionamiento) a la versión especificada en app.yaml. Se traslada el tráfico de la versión anterior a la nueva en unos minutos, según cuánto tráfico reciba la aplicación y cuántas instancias se estén ejecutando. Una vez que se ha migrado el tráfico, la versión predeterminada (en funcionamiento) se restablece a la nueva versión.
list_versions
appcfg.py [options] list_versions <app-directory>
- Genera las versiones subidas para cada módulo de una aplicación en YAML. YAML recibe un formato de arreglo asociado, en el que los
module_ids
se asignan a la lista de versiones subida para ese módulo. La versión predeterminada es la primera de la lista.
delete_version
appcfg.py [options] delete_version -A project_id -V version
- Borra la versión especificada para la aplicación especificada.
update_cron
appcfg.py [options] update_cron <app-directory>
- Actualiza la configuración de las tareas de programación (cron) de la aplicación, según el archivo
cron.yaml
.
update_dos
appcfg.py [options] update_dos <app-directory>
- Actualiza la configuración de la protección contra DoS de la aplicación, según el archivo
dos.yaml
.
update_queues
appcfg.py [options] update_queues <app-directory>
- Actualiza la configuración de la lista de tareas en cola de la app, según el archivo
queue.yaml
.
update_dispatch
appcfg.py [options] update_dispatch <app-directory>
- Actualiza el envío de la aplicación según el archivo
dispatch.yaml
.
start_module_version
appcfg.py [options] start_module_version <app-directory>
Inicia la versión especificada del módulo.
Usa las opciones
--module
y--version
para anular la configuración en el archivoapp.yaml
.
stop_module_version
appcfg.py [options] stop_module_version <app-directory>
Detiene la versión especificada del módulo.
Usa las opciones
--module
y--version
para anular la configuración en el archivoapp.yaml
.
Opciones globales
El comando appcfg.py
acepta las siguientes opciones para todas las acciones:
--application=...
- El ID del proyecto que se usará. De forma predeterminada, este se deriva de la línea de
application:
del archivoapp.yaml
en el directorio de la aplicación. Si se especifica--application
, este anula el ID enapp.yaml
para la acción.
--host=...
- El nombre de host de la máquina local que se usa para las llamadas de procedimiento remoto.
--max_size=...
- El tamaño máximo de archivos que se subirá, como una cantidad de bytes. Los archivos de mayor tamaño no se subirán. El predeterminado es
10485760
. El servidor aplica un tamaño de archivo máximo de 10,485,760 bytes, por lo que aumentar este valor no tendrá ningún efecto. --module=...
- El nombre del módulo que se usará. De forma predeterminada, este se deriva de la línea de
module:
del archivoapp.yaml
en el directorio de la aplicación. Si se especifica--module
, este anula el valor enapp.yaml
para esta acción. - No se almacena el token de acceso del usuario. y se aplica el flujo de OAuth2 todas las veces.
--noisy
- Se imprimen muchos mensajes sobre lo que está haciendo el comando. Es útil principalmente cuando trabajas con el equipo de App Engine para solucionar problemas de subida.
--noauth_local_webserver
- No se usa el navegador web para mostrar páginas web de autenticación. Es útil para la autenticación OAuth2 si accedes de forma remota a una máquina. Esta marca se aplica solo para OAuth2.
--oauth2_refresh_token=token
- Se usa un token de actualización de OAuth2 para autenticar en lugar del predeterminado que se almacena en el directorio principal del usuario.
--quiet
- No se imprimen mensajes cuando la acción se completa con éxito.
--server=...
- El nombre de host del servidor de App Engine. El predeterminado es
appengine.google.com
. --verbose
- Se imprimen mensajes acerca de lo que está haciendo el comando.
--version=...
- El ID de la versión que se usará. De forma predeterminada, este se deriva de la línea de
version:
del archivoapp.yaml
en el directorio de la aplicación. Si se especifica--version
, esto anula el ID de versión enapp.yaml
para esta acción.