appcfg.py コマンドライン引数

appcfg.py コマンドには、一連のオプション、アクション、およびそのアクションの引数を指定できます。このコマンドは、アプリのデプロイデータストア インデックスの更新など、各種のアプリケーション管理タスクに使用されます。

appcfg ツールは、オリジナルの App Engine SDK にのみ含まれています。この SDK は、元の App Engine SDK for Go からダウンロードしてインストールできます。

App Engine SDK は頻繁に更新されるため、以下の引数リストは最新のものとは異なる可能性があります。appcfg.py help と入力すると、使用可能なすべてのアクションが一覧表示されます。また、appcfg.py help <action> と入力すると、特定のアクションの詳細が表示されます。

update

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

update アクションを実行すると、そのディレクトリの最上位にある app.yaml ファイルに指定されているアプリのバージョンが作成または更新されます。

ディレクトリを指定する場合は、そのディレクトリに app.yaml ファイルだけでなく、app.yaml ファイルで定義されているアプリやモジュールに必要なその他のすべてのファイルが含まれている必要があります。

ディレクトリにアプリケーションのグローバル設定ファイル(index.yamlqueues.yamldispatch.yamldos.yamlcron.yaml)がある場合は、各ファイルに固有の更新コマンドを実行して、設定ファイルをデプロイします。たとえば、ディスパッチ ファイルをデプロイするには update_dispatch を使用します。cron ファイルをデプロイするには、update_cron を使用します。

このコマンドはシンボリック リンクをたどり、すべてのファイルをサーバーに再帰的にアップロードします。foo~.svn/* などの一時ファイルやソース制御ファイルはスキップされます。

モジュールを定義する YAML ファイルをアップロードするには、ファイル引数を使用します。これ以外のタイプの YAML ファイルはコマンドラインに表示されません。指定されたモジュールのみが更新されます。

update には次のオプションが用意されています。

--max_size
アップロードするファイルの最大サイズ(バイト単位)。

ヘルプ

appcfg.py help <action>
指定したアクションに関するヘルプ メッセージを出力して終了します。

cron_info

appcfg.py [options] cron_info <app-directory>
スケジュール設定されたタスク(cron)の設定に関する情報を表示します。今後数回の実行予定日時などが表示されます。デフォルトでは、今後 5 回の実行予定日時が表示されます。--num_runs=... オプションで、表示される実行予定日時の回数を変更できます。

download_app

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

アプリケーションのコードの最新バージョンを取得します。次のオプションを使用できます。

-A
必須。アプリケーション ID です。
-V
省略可能。ダウンロードするコードのバージョンを指定します。省略すると、デフォルトのバージョンがダウンロードされます。
<output-dir>
必須。ファイルを保存するディレクトリ。

request_logs

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

App Engine で実行中のアプリケーションに関するログデータを取得します。--append フラグを設定されている場合、output-file パラメーターが作成、置換、または追加するファイルの名前です。output-file にハイフン(-)を指定すると、ログデータはコンソールに出力されます。request_logs には次のオプションが用意されています。

--num_days=...
取得するログデータの日数(現在の日付の午前 0 時(UTC)で終了)。値を 0 に指定した場合、取得可能なすべてのログデータを取得します。--append を指定した場合のデフォルトは 0 で、それ以外の場合のデフォルトは 1 です。
--end_date=...
返すログデータの最終日を YYYY-MM-DD 形式で指定します。デフォルトは今日です。--num_days オプションは、この最終日から遡って数えます。
--severity=...
取得するログ メッセージの最小ログレベル。値はログレベルに対応した次の数値です。4: CRITICAL、3: ERROR、2: WARNING、1: INFO、0: DEBUG。指定したログレベル以上のすべてのメッセージが取得されます。デフォルトは 1(INFO)です。
--append

取得したデータのうち、まだ出力ファイルに存在していない最初の行以降をファイルに追加します。--append を指定してこのアクションを 1 日 1 回実行すると、すべてのログデータがファイルに格納されます。

デフォルトでは、出力ファイルは上書きされます。output-file が「-」(コンソールに出力)の場合は適用されません。

--vhost=...

指定すると、ダウンロードするログメッセージは指定したドメイン名に対する出力メッセージに制限されます。たとえば、--vhost=google.com と指定すると、G Suite のドメインである google.com のライブアプリに対するログメッセージのみが取得され、http://2.latest.your_app_id.appspot.com でテストした新しいバージョンが出力したログメッセージは除外されます。また、--vhost=2.latest.your_app_id.appspot.com と指定すると、テスト バージョンのログのみが取得され、ライブ バージョンのものは除外されます。

値は、受信したリクエストの Host ヘッダーと一致する正規表現です。ドメイン名の大文字と小文字は通常区別されませんが、このパターンでは区別される点にご注意ください。

--include_vhost

各リクエストのドメイン名(Host リクエスト ヘッダー)を、追加フィールドとしてリクエスト ログデータに含めます。

rollback

appcfg.py [options] rollback <app-directory>
指定したアプリケーションに対して部分的に完了している更新を元に戻します。更新が中断され、ロックのためにアプリケーションの更新ができないことをコマンドが報告するときに、これを使用できます。

set_default_version

appcfg.py [options] set_default_version <app-directory>
特定のモジュールのデフォルト バージョンを指定します。

migrate_traffic

appcfg.py [options] migrate_traffic <app-directory>
トラフィックの移行を実行します。トラフィックを、アプリの現在のデフォルト バージョン(提供バージョン)から、app.yaml で指定したバージョンに動的に転送します。トラフィックは旧バージョンから新バージョンに数分で移行します。所要時間は、アプリが取得するトラフィック量や実行中のインスタンス数で変わります。すべてのトラフィックが移行されると、アプリのデフォルト バージョン(提供バージョン)は新バージョンにリセットされます。

list_versions

appcfg.py [options] list_versions <app-directory>
アプリケーションの各モジュールのアップロードされたバージョンを YAML 形式で出力します。YAML は連想配列として書式設定されており、そのモジュールのアップロードされたバージョンのリストに対して module_ids をマッピングします。リストの先頭にあるのがデフォルト バージョンです。

delete_version

appcfg.py [options] delete_version -A app_id -V version
指定したアプリケーションの指定したバージョンを削除します。

update_cron

appcfg.py [options] update_cron <app-directory>
アプリのスケジュール設定されたタスク(cron)の設定を、cron.yaml ファイルに基づいて更新します。

update_dos

appcfg.py [options] update_dos <app-directory>
アプリの DoS 保護設定を dos.yaml ファイルに基づいて更新します。

update_indexes

appcfg.py [options] update_indexes <app-directory>
App Engine のデータストア インデックスを更新して、新しく追加されたインデックスが含まれるようにします。新しいバージョンのアプリケーションを使用するのに、index.yaml に追加されたインデックス定義を追加する必要がある場合、新しいバージョンのアプリケーションをアップロードする前に App Engine のインデックス定義を更新できます。新しいアプリケーションをアップロードする数時間前にこのアクションを実行しておくことにより、インデックスをビルドし、アプリケーションがデプロイされる時点で既に提供されているようにするために必要な時間を確保できます。

update_queues

appcfg.py [options] update_queues <app-directory>
アプリのタスクキュー設定を queue.yaml ファイルに基づいて更新します。

update_dispatch

appcfg.py [options] update_dispatch <app-directory>
アプリのディスパッチを dispatch.yaml ファイルに基づいて更新します。

start_module_version

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

指定したモジュール バージョンを開始します。

app.yaml ファイルの設定を上書きするには、--module オプションと --version オプションを使用します。

stop_module_version

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

指定したモジュール バージョンを停止します。

app.yaml ファイルの設定を上書きするには、--module オプションと --version オプションを使用します。

vacuum_indexes

appcfg.py [options] vacuum_indexes <app-directory>
App Engine から未使用のデータストア インデックスを削除します。index.yaml からインデックスの定義を削除しても、インデックスは App Engine から自動的に削除されず、未使用のインデックスが累積していきます。このコマンドを実行すると、App Engine から未使用のインデックスがすべて削除されます。

グローバル オプション

appcfg.py コマンドのすべてのアクションで次のオプションを使用できます。

--application=...
使用するアプリケーション ID。デフォルトで、これはアプリケーション ディレクトリ内の app.yaml ファイルに含まれる application: 行から派生します。--application が指定されると、このアクションの app.yaml に含まれる ID は上書きされます。
--force
使用していないインデックスを強制的に削除します。デフォルトでは、使用していないインデックスが index.yaml ファイルに含まれていない場合でも、アプリをアップロードする際にサーバーからそれらのインデックスは削除されません。
--host=...
リモート プロシージャ コールで使用する、ローカルマシンのホスト名。
--max_size=...
アップロードするファイルの最大サイズ(バイト数単位)。このサイズを超過するファイルはアップロードされません。デフォルトは 10485760 です。ファイルサイズの最大値は、サーバー側で 10,485,760 バイトに指定されているため、この値を増やしても効果はありません。
--module=...
使用するモジュールの名前。デフォルトで、これはアプリケーション ディレクトリ内の app.yaml ファイルに含まれる module: 行から派生します。--module が指定されると、このアクションの app.yaml に含まれる値は上書きされます。
--no_cookies
ユーザーのアクセス トークンを保存しません。OAuth2 フローを毎回通過します。
--noisy
コマンドの実行内容に関する多くのメッセージを出力します。これは、アップロードの問題をトラブルシュートするために App Engine チームで作業する際に非常に役立ちます。
--noauth_local_webserver
認証用のウェブページを表示するのに、ウェブブラウザを使用しません。マシンにリモート ログインする場合、OAuth2 認証に役立ちます。 このフラグは OAuth2 にのみ適用されます。
--oauth2_refresh_token=token
ユーザーのホーム ディレクトリに保存されているトークンではなく、OAuth2 更新トークンを使用して認証を行います。
--quiet
成功した場合はメッセージを出力しません。
--server=...
App Engine サーバーのホスト名。デフォルトは appengine.google.com です。
--verbose
コマンドの実行内容に関するメッセージを出力します。
--version=...
使用するバージョン ID。デフォルトで、これはアプリケーション ディレクトリ内の app.yaml ファイルに含まれる version: 行から派生します。--version が指定されると、このアクションの app.yaml に含まれるバージョン ID は上書きされます。

フィードバックを送信...

App Engine standard environment for Go