Arguments de ligne de commande appcfg.py

La commande appcfg.py utilise un ensemble d'options, une action et des arguments pour mener l'action. Cette commande permet d'effectuer diverses tâches de gestion des applications, telles que le déploiement de votre application et la mise à jour des index du datastore.

L'outil appcfg n'est fourni qu'avec le SDK App Engine d'origine que vous pouvez télécharger et installer depuis la page SDK App Engine d'origine pour Python 2.

Le SDK App Engine est fréquemment modifié et la liste d'arguments présentée ici peut ne pas être à jour. Exécutez la commande appcfg.py help pour afficher la liste de toutes les actions disponibles, puis appcfg.py help <action> pour obtenir des détails sur une action particulière.

update

appcfg.py [options] update <app-directory>|<files...>

La commande "update" crée ou met à jour la version de l'application nommée dans le fichier app.yaml au niveau supérieur du répertoire.

Si vous spécifiez un répertoire, celui-ci doit contenir un fichier app.yaml, ainsi que tous les autres fichiers requis par l'application ou le module définis par le fichier app.yaml.

Si le répertoire contient un fichier de configuration d'application global (index.yaml, queues.yaml, dispatch.yaml, dos.yaml, cron.yaml), utilisez la commande "update" qui lui est spécifique pour le déployer. Par exemple, utilisez la commande update_dispatch pour déployer le fichier de distribution, update_cron pour déployer le fichier Cron, etc.

La commande suit les liens symboliques et importe tous les fichiers de manière récursive sur le serveur. Les fichiers de contrôle temporaires ou sources, tels que foo~ ou .svn/* sont ignorés.

L'argument de fichier permet d'importer un ou plusieurs fichiers YAML définissant des modules. Aucun autre type de fichier YAML ne peut apparaître dans la ligne de commande. Seuls les modules spécifiés seront mis à jour.

L'option suivante s'applique à l'argument update :

--max_size
Taille maximale d'un fichier à importer (en octets).
--no_precompilation
Désactive la précompilation Python automatique. La précompilation augmente les performances d'une application et réduit le temps nécessaire à l'importation d'un module ou d'un fichier Python, ce qui peut augmenter la vitesse de la première requête gérée par une instance d'application. Si vous rencontrez des erreurs de précompilation lors du déploiement de votre application, spécifiez ce paramètre.

help

appcfg.py help <action>
Affiche un message d'aide relatif à l'action donnée, puis se ferme.

cron_info

appcfg.py [options] cron_info <app-directory>
Affiche des informations sur la configuration de la tâche planifiée (Cron), y compris l'heure prévue des prochaines exécutions. Affiche par défaut l'heure des cinq prochaines exécutions. Vous pouvez modifier ce nombre avec l'option --num_runs=....

download_app

appcfg.py download_app -A <project_id> -V <version> <output-dir>

Récupère la version la plus récente du code de votre application à l'aide des options suivantes :

-A
Obligatoire. ID du projet.
-V
Facultatif. Spécifie la version du code à télécharger. Si cette information est omise, la version par défaut est téléchargée.
<output-dir>
Obligatoire. Indique le répertoire où vous souhaitez enregistrer les fichiers.

request_logs

appcfg.py [options] request_logs <app-directory> <output-file>

Récupère les données des journaux de l'application exécutée sur App Engine. Si l'indicateur --append est défini, le paramètre output-file correspond au nom du fichier à créer, remplacer ou ajouter. Si le paramètre output-file est un tiret (-), les données de journalisation sont affichées sur la console. Les options suivantes s'appliquent à l'argument request_logs :

--num_days=...
Nombre de jours associés aux données de journalisation à récupérer, se terminant à la date du jour à minuit (format UTC). La valeur 0 entraîne la récupération de tous les journaux disponibles. Si l'indicateur --append est présent, la valeur par défaut est 0. Sinon la valeur par défaut est 1.
--end_date=...

Date la plus récente des données de journalisation à afficher, sous la forme YYYY-MM-DD. La valeur par défaut est aujourd'hui. L'option --num_days compte à rebours depuis la date de fin.

--severity=...

Niveau de journalisation minimal des messages à récupérer. La valeur est un nombre correspondant au niveau de journalisation : 4 pour CRITICAL, 3 pour ERROR, 2 pour WARNING, 1 pour INFO, 0 pour DEBUG. Tous les messages avec le niveau de journalisation spécifié ou supérieur sont extraits. La valeur par défaut est 1 (INFO).

--append

Ajoute les données récupérées au fichier de sortie, en commençant par la première ligne de journal ne figurant pas déjà dans le fichier. Exécuter cette action une fois par jour avec le paramètre --append permet d'obtenir un fichier contenant toutes les données de journalisation.

La valeur par défaut consiste à remplacer le fichier de sortie. Cela ne s'applique pas si la valeur de output-file est - (affichage sur la console).

--vhost=...

Si cette option est présente, limite les messages de journalisation téléchargés à ceux émis par les requêtes sur un nom de domaine donné. Par exemple, --vhost=google.com télécharge uniquement les messages de journalisation pour l'application active sur le domaine G Suite google.com, à l'exclusion des messages émis par une nouvelle version en cours de test sur l'URL http://2.latest.your_project_id.appspot.com. De même, --vhost=2.latest.your_project_id.appspot.com télécharge uniquement les journaux de la version de test, à l'exclusion de la version active.

La valeur de cette option est une expression régulière qui correspond à l'en-tête Host des requêtes entrantes. Notez que le format est sensible à la casse, bien que les noms de domaine ne le soient généralement pas.

--include_vhost

Inclut le nom de domaine de la requête (l'en-tête de requête Host) dans les données de journalisation de chaque requête, en tant que champ supplémentaire.

rollback

appcfg.py [options] rollback <app-directory>
Permet de revenir à une version antérieure pour une mise à jour partiellement terminée de l'application donnée. Vous pouvez utiliser cet argument si une mise à jour a été interrompue et que la commande indique que l'application ne peut pas être mise à jour en raison d'un verrouillage.

set_default_version

appcfg.py [options] set_default_version <app-directory>
Spécifie la version par défaut du module donné.

migrate_traffic

appcfg.py [options] migrate_traffic <app-directory>
Met en œuvre la migration du trafic. Cet argument réoriente dynamiquement le trafic de la version par défaut actuelle (diffusée) de l'application vers la version spécifiée dans le fichier app.yaml. Le trafic est déplacé de l'ancienne version à la nouvelle en quelques minutes, en fonction du trafic que votre application reçoit et du nombre d'instances en cours d'exécution. Une fois que tout le trafic est migré, la version par défaut (diffusée) de l'application est réinitialisée sur la nouvelle version.

list_versions

appcfg.py [options] list_versions <app-directory>
Cet argument indique dans le fichier YAML les versions importées de chaque module d'une application. Le fichier YAML est organisé sous la forme d'un tableau d'associations mappant des module_ids à la liste des versions importées pour ce module. La version par défaut est la première de la liste.

delete_version

appcfg.py [options] delete_version -A project_id -V version
Supprime la version indiquée pour l'application spécifiée.

update_cron

appcfg.py [options] update_cron <app-directory>
Met à jour la configuration de la tâche planifiée (Cron) pour l'application, en fonction du fichier cron.yaml.

update_dos

appcfg.py [options] update_dos <app-directory>
Met à jour la configuration de la protection DoS pour l'application, en fonction du fichier dos.yaml.

update_indexes

appcfg.py [options] update_indexes <app-directory>
Met à jour les index du datastore dans App Engine de façon à inclure les nouveaux index. Si une nouvelle version de votre application nécessite une définition d'index déjà ajoutée au fichier index.yaml, vous pouvez mettre à jour vos définitions d'index dans App Engine avant de télécharger la nouvelle version de votre application. Il est conseillé d'exécuter cette action quelques heures avant l'import de la nouvelle version de l'application, afin que les index puissent être créés et déjà diffusés lors du déploiement de l'application.

update_queues

appcfg.py [options] update_queues <app-directory>
Met à jour la configuration de la file d'attente de tâches pour l'application, en fonction du fichier queue.yaml.

update_dispatch

appcfg.py [options] update_dispatch <app-directory>
Met à jour la distribution de l'application, en fonction du fichier dispatch.yaml.

start_module_version

appcfg.py [options] start_module_version <app-directory>

Lance la version de module spécifiée.

Utilisez les options --module et --version pour remplacer les paramètres du fichier app.yaml.

stop_module_version

appcfg.py [options] stop_module_version <app-directory>

Arrête la version de module spécifiée.

Utilisez les options --module et --version pour remplacer les paramètres du fichier app.yaml.

vacuum_indexes

appcfg.py [options] vacuum_indexes <app-directory>
Supprime les index de datastore inutilisés d'App Engine. Ces index s'accumulent lorsque vous supprimez des définitions d'index du fichier index.yaml. En effet, cette suppression ne supprime pas automatiquement les index dans App Engine. L'appel de cette commande supprime tous les index inutilisés d'App Engine.

Options globales

La commande appcfg.py accepte les options suivantes pour toutes les actions :

--application=...
ID du projet à utiliser. Par défaut, cette valeur est dérivée de la ligne application: du fichier app.yaml contenu dans le répertoire de l'application. Si l'option --application est spécifiée, elle remplace l'ID dans le fichier app.yaml pour cette action.
--force
Force la suppression des index inutilisés. Par défaut, l'import d'une application ne supprime pas les index inutilisés du serveur, même s'ils n'apparaissent pas dans le fichier index.yaml.
--host=...
Nom d'hôte de l'ordinateur local à utiliser pour les appels de procédure à distance.
--max_size=...
Taille maximale des fichiers à importer, en nombre d'octets. Les fichiers plus volumineux ne sont pas importés. La valeur par défaut est 10485760. Le serveur impose une taille de fichier maximale de 10 485 760 octets. Par conséquent, il serait sans effet d'augmenter cette valeur.
--module=...
Nom du module à utiliser. Par défaut, cette valeur est dérivée de la ligne module: du fichier app.yaml contenu dans le répertoire de l'application. Si l'option --module est spécifiée, elle remplace la valeur du fichier app.yaml pour cette action.
--no_cookies
Indique de ne pas stocker le jeton d'accès de l'utilisateur. Redirige vers le flux OAuth2 à chaque fois.
--noisy
Affiche de nombreux messages relatifs à l'action de la commande. Cette option est particulièrement utile lorsque vous travaillez avec l'équipe App Engine à la résolution d'un problème d'import.
--noauth_local_webserver
Indique de ne pas utiliser le navigateur Web pour afficher des pages Web à des fins d'authentification. Cette option est utile pour l'authentification OAuth2 si vous êtes connecté à distance à une machine. Cet indicateur s'applique uniquement pour OAuth2.
--oauth2_refresh_token=token
Permet de s'authentifier à l'aide d'un jeton d'actualisation OAuth2 au lieu du jeton par défaut stocké dans le répertoire d'accueil de l'utilisateur.
--quiet
N'imprime pas de messages en cas de réussite.
--server=...
Nom d'hôte du serveur App Engine. La valeur par défaut est appengine.google.com.
--verbose
Affiche des messages relatifs à l'action de la commande.
--version=...
Identifiant de version à utiliser. Par défaut, cette valeur est dérivée de la ligne version: du fichier app.yaml contenu dans le répertoire de l'application. Si l'option --version est spécifiée, elle remplace l'ID de version dans le fichier app.yaml pour cette action.
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Environnement standard App Engine pour Python 2