Python 2 wird von der Community nicht mehr unterstützt. Wir empfehlen die Migration von Python 2-Anwendungen zu Python 3.

Befehlszeilenargumente für appcfg.py

Mit dem Befehl appcfg.py können eine Reihe von Optionen, eine Aktion sowie Argumente für die Aktion angegeben werden. Er wird für eine Vielzahl von Aufgaben zur Anwendungsverwaltung wie das Bereitstellen von Anwendungen und das Aktualisieren der Datenspeicherindexe genutzt.

Das appcfg-Tool ist nur im ursprünglichen App Engine SDK enthalten. Sie können es mit dem ursprünglichen App Engine SDK für Python 2 herunterladen und installieren.

Das App Engine SDK wird häufig aktualisiert. Die folgende Liste der Argumente ist deshalb möglicherweise nicht auf dem neuesten Stand. Geben Sie appcfg.py help ein, um die vollständige Liste aller verfügbaren Aktionen zu erhalten. Geben Sie appcfg.py help <action> ein, wenn Sie die Details zu einer bestimmten Aktion sehen möchten.

update

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

Die Aktion „update“ erstellt oder aktualisiert die Version der Anwendung, die in der Datei app.yaml auf der obersten Ebene des Verzeichnisses angegeben ist.

Wenn Sie ein Verzeichnis festlegen, müssen darin die Datei app.yaml und alle anderen Dateien enthalten sein, die für die Anwendung oder für das Modul erforderlich sind, die bzw. das in der Datei app.yaml angegeben ist.

Wenn das Verzeichnis globale Einstellungsdateien für die Anwendung enthält (index.yaml, queues.yaml, dispatch.yaml, dos.yaml, cron.yaml), stellen Sie diese Konfigurationsdatei mit dem jeweils dafür vorgesehenen Aktualisierungsbefehl bereit. Verwenden Sie beispielsweise update_dispatch zum Bereitstellen der Weiterleitungsdatei, update_cron zum Bereitstellen der Cron-Datei und so weiter.

Der Befehl folgt symbolischen Links und lädt alle Dateien rekursiv auf den Server hoch. Temporäre Dateien oder Versionsverwaltungsdateien wie foo~, .svn/* werden übersprungen.

Mit dem Argument „files“ laden Sie eine oder mehrere YAML-Dateien hoch, die Module definieren. In der Befehlszeile können keine anderen Arten von YAML-Dateien aufgeführt werden. Nur die angegebenen Module werden aktualisiert.

Für update gelten folgende Optionen:

--max_size
Legt die maximale Größe einer hochzuladenden Datei (in Byte) fest.
--no_precompilation
Deaktiviert die automatische Python-Vorkompilierung. die Vorkompilierung erhöht die Leistung einer Anwendung und reduziert den Zeitaufwand für den Import eines Python-Moduls oder einer Python-Datei. Dadurch kann die erste von einer Anwendungsinstanz bearbeitete Anfrage schneller verarbeitet werden. Wenn bei der Bereitstellung der Anwendung Vorkompilierungsfehler auftreten, versuchen Sie, diesen Parameter anzugeben.

help

appcfg.py help <action>
Zeigt eine Hilfemeldung zu der entsprechenden Aktion an und beendet das Programm.

cron_info

appcfg.py [options] cron_info <app-directory>
Zeigt Informationen zur Konfiguration der geplanten Aufgabe (cron) an, einschließlich des erwarteten Zeitpunkts der nächsten Ausführungen. Standardmäßig wird der Zeitpunkt der nächsten fünf Ausführungen angezeigt. Sie können die Anzahl der zukünftigen Ausführungen, für die der Zeitpunkt angezeigt werden soll, mit der Option --num_runs=... ändern.

download_app

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

Ruft die aktuelle Version des Anwendungscodes mit folgenden Optionen ab:

-A
Erforderlich. Die Projekt-ID.
-V
Optional. Gibt die Version des Codes an, der heruntergeladen werden soll. Wenn Sie diese Option nicht festlegen, wird die Standardversion heruntergeladen.
<output-dir>
Erforderlich. Das Verzeichnis, in dem Sie die Dateien speichern möchten.

request_logs

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

Ruft Logdaten für die in App Engine ausgeführte Anwendung ab. Wenn das Flag --append gesetzt ist, gibt der Parameter output-file den Namen der Datei an, die erstellt, ersetzt oder angehängt werden soll. Wenn output-file ein Bindestrich (-) ist, werden die Logdaten an die Konsole ausgegeben. Die folgenden Optionen gelten für request_logs:

--num_days=...
Die Anzahl der Tage, für die Logdaten abgerufen werden sollen. Enddatum ist Mitternacht (UTC) des aktuellen Datums. Mit dem Wert 0 werden alle verfügbaren Logs abgerufen. Wird --append angegeben, ist die Standardeinstellung 0, andernfalls 1.
--end_date=...

Das letzte Datum, zu dem die Logdaten im Format YYYY-MM-DD zurückgegeben werden sollen. Die Standardeinstellung ist der aktuelle Tag. Die Option --num_days zählt vom Enddatum aus rückwärts.

--severity=...

Die niedrigste Logebene für die Lognachrichten, die abgerufen werden sollen. Der Wert ist eine Zahl, die der Logebene entspricht: 4 für KRITISCH, 3 für FEHLER, 2 für WARNUNG, 1 für INFO, 0 für DEBUG. Alle Nachrichten auf der angegebenen Logebene und darüber werden abgerufen. Der Standardwert ist 1 (INFO).

--append

Die abgerufenen Daten werden an die Ausgabedatei angehängt. Es wird mit der ersten Logzeile begonnen, die noch nicht in der Datei vorhanden ist. Wenn Sie die Aktion einmal täglich mit --append ausführen, sind in der Datei alle Logdaten enthalten.

Die Standardeinstellung besteht im Überschreiben der Ausgabedatei. Sie gilt nicht, wenn output-file ein Bindestrich (-) ist (Ausgabe an die Console).

--vhost=...

Begrenzt die Anzahl der heruntergeladenen Lognachrichten. Es werden nur diejenigen Nachrichten heruntergeladen, die durch Anfragen für einen bestimmten Domainnamen ausgegeben wurden. Beispiel: --vhost=google.com lädt nur die Lognachrichten für die Live-Version der Anwendung in der G Suite-Domain google.com herunter. Lognachrichten einer neuen Version, die unter https://2-dot-latest-dot-your_project_id.[REGION_ID].r.appspot.com getestet wird, werden nicht heruntergeladen. Entsprechend lädt --vhost=2.latest.your_project_id.[REGION_ID].r.appspot.com nur die Logs für die Testversion und nicht die Logs für die Live-Version herunter.

Der Wert ist ein regulärer Ausdruck, der dem Header Host der eingehenden Anfragen entspricht. Beachten Sie, dass bei dem Muster die Groß- und Kleinschreibung berücksichtigt wird. Dies ist bei Domainnamen normalerweise nicht der Fall.

--include_vhost

Fügt für jede Anfrage den Domainnamen (Anfrageheader Host) als zusätzliches Feld in die Logdaten der Anfrage ein.

rollback

appcfg.py [options] rollback <app-directory>
Macht eine teilweise ausgeführte Aktualisierung für die angegebene Anwendung wieder rückgängig. Sie können diese Aktion verwenden, wenn eine Aktualisierung unterbrochen wurde und der Befehl meldet, dass die Anwendung aufgrund einer Sperre nicht aktualisiert werden kann.

set_default_version

appcfg.py [options] set_default_version <app-directory>
Legt die Standardversion des angegebenen Moduls fest.

migrate_traffic

appcfg.py [options] migrate_traffic <app-directory>
Implementiert die Trafficmigration. Leitet den Traffic dynamisch von der aktuellen Standardversion (Dienstversion) der Anwendung auf die in der Datei „app.yaml“ festgelegte Version um. Der Traffic wird in wenigen Minuten von der alten auf die neue Version verschoben, abhängig davon, wie viele Zugriffe Ihre Anwendung aufweist und wie viele Instanzen gerade ausgeführt werden. Sobald der gesamte Traffic migriert ist, wird die Standardversion der Anwendung auf die neue Version zurückgesetzt.

list_versions

appcfg.py [options] list_versions <app-directory>
Gibt die hochgeladenen Versionen für jedes Modul einer Anwendung in YAML aus. Der YAML-Code ist als assoziatives Array formatiert, wobei module_ids der Liste der für dieses Modul hochgeladenen Versionen zugeordnet wird. Die Standardversion ist der erste Eintrag in der Liste.

delete_version

appcfg.py [options] delete_version -A project_id -V version
Löscht die festgelegte Version für die angegebene Anwendung.

update_cron

appcfg.py [options] update_cron <app-directory>
Aktualisiert die Konfiguration der geplanten Aufgabe (cron) für die Anwendung entsprechend der Datei cron.yaml.

update_dos

appcfg.py [options] update_dos <app-directory>
Aktualisiert die Konfiguration des DoS-Schutzes für die Anwendung entsprechend der Datei dos.yaml.

update_indexes

appcfg.py [options] update_indexes <app-directory>
Aktualisiert Datenspeicherindexe in App Engine, um neu hinzugefügte Indexe einzubinden. Wenn für eine neue Version Ihrer Anwendung eine zusätzliche Indexdefinition erforderlich ist, die zu index.yaml hinzugefügt wurde, können Sie Ihre Indexdefinitionen in App Engine aktualisieren, bevor Sie die neue Version der Anwendung hochladen. Wenn Sie diese Aktion einige Stunden vor dem Hochladen der neuen Anwendungsversion ausführen, wird bereits bei der Bereitstellung der Anwendung die notwendige Zeit für die Erstellung und Bereitstellung der Indexe berücksichtigt.

update_queues

appcfg.py [options] update_queues <app-directory>
Aktualisiert die Konfiguration der Aufgabenwarteschlange für die Anwendung entsprechend der Datei queue.yaml.

update_dispatch

appcfg.py [options] update_dispatch <app-directory>
Aktualisiert die Weiterleitung für die Anwendung entsprechend der Datei dispatch.yaml.

start_module_version

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

Startet die angegebene Modulversion.

Mit den Optionen --module und --version können Sie die Einstellungen in der Datei app.yaml überschreiben.

stop_module_version

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

Beendet die angegebene Modulversion.

Mit den Optionen --module und --version können Sie die Einstellungen in der Datei app.yaml überschreiben.

vacuum_indexes

appcfg.py [options] vacuum_indexes <app-directory>
Löscht nicht verwendete Datenspeicherindexe aus App Engine. Wenn Sie Indexdefinitionen aus der Datei index.yaml entfernen, verbleiben diese in App Engine, da Indexe damit nicht automatisch aus App Engine gelöscht werden. Durch Aufruf dieses Befehls werden alle nicht verwendeten Indexe aus App Engine gelöscht.

Globale Optionen

Der Befehl appcfg.py akzeptiert für alle Aktionen die folgenden Optionen:

--application=...
Die Projekt-ID, die verwendet werden soll. Wird standardmäßig aus der Zeile application: in der Datei app.yaml im Anwendungsverzeichnis abgeleitet. Wenn Sie die Option --application angeben, wird die ID in app.yaml für diese Aktion überschrieben.
--force
Erzwingt das Löschen nicht verwendeter Indizes. Standardmäßig werden nicht verwendete Indizes beim Hochladen einer Anwendung nicht vom Server gelöscht. Dies gilt auch dann, wenn sie nicht in der Datei index.yaml aufgeführt sind.
--host=...
Der Hostname des lokalen Computers für die Verwendung bei Remote-Prozeduraufrufen.
--max_size=...
Die maximale Größe der hochzuladenden Dateien, als Anzahl an Byte. Dateien, die diese Größe überschreiten, werden nicht hochgeladen. Die Standardeinstellung ist 10485760. Der Server erzwingt eine maximale Dateigröße von 10.485.760 Byte. Eine Erhöhung dieses Werts hat daher keine Auswirkungen.
--module=...
Der Name des Moduls, das verwendet werden soll. Wird standardmäßig aus der Zeile module: in der Datei app.yaml im Anwendungsverzeichnis abgeleitet. Wenn Sie die Option --module verwenden, wird der Wert in app.yaml für diese Aktion überschrieben.
--no_cookies
Legt fest, dass das Zugriffstoken des Nutzers nicht gespeichert wird. Stattdessen wird jedes Mal der OAuth2-Ablauf ausgeführt.
--noisy
Legt fest, dass zahlreiche Meldungen über die vom Befehl ausgeführten Aktionen ausgegeben werden. Dies ist besonders hilfreich, wenn Sie mit dem App Engine-Team an der Fehlerbehebung für ein Problem beim Hochladen arbeiten.
--noauth_local_webserver
Legt fest, dass der Webbrowser nicht für das Anzeigen der Webseiten zur Authentifizierung verwendet wird. Diese Option eignet sich zur OAuth2-Authentifizierung, wenn Sie per Fernzugriff an einem Computer angemeldet sind. Dieses Flag gilt nur für OAuth2.
--oauth2_refresh_token=token
Legt fest, dass ein OAuth2-Aktualisierungstoken anstelle des Standardtokens, das im Basisverzeichnis des Nutzers gespeichert ist, zur Authentifizierung verwendet wird.
--quiet
Legt fest, dass bei erfolgreicher Ausführung keine Meldungen ausgegeben werden.
--server=...
Der Hostname des App Engine-Servers. Der Standardwert ist appengine.google.com.
--verbose
Legt fest, dass Meldungen über die vom Befehl ausgeführten Aktionen ausgegeben werden.
--version=...
Die Versions-ID, die verwendet werden soll. Wird standardmäßig aus der Zeile version: in der Datei app.yaml im Anwendungsverzeichnis abgeleitet. Wenn Sie die Option --version angeben, wird die Versions-ID in app.yaml für diese Aktion überschrieben.