トップレベルのコマンドライン オプション

説明

gsutil は、gsutil のトップレベル コマンドや個々のサブコマンド(cp、rm など)のオプションをサポートしています。トップレベルのオプションを使用すると、コマンドに対する gsutil の動作を制御できます。たとえば、次のコマンドで説明しましょう。

gsutil -m cp -p file gs://bucket/obj

-m オプションは gsutil に適用されますが、-p オプションは cp サブコマンドに適用されます。

オプション

-D

HTTP リクエスト / ヘッダー、サポート リクエストの送信で必要になる追加のデバッグ情報(例外のスタック トレースなど)を表示します。

-DD -D と同様、HTTP アップストリーム ペイロード。
-h

特定の HTTP ヘッダーを指定できます。例:


gsutil -h "Cache-Control:public,max-age=3600" \
       -h "Content-Type:text/html" cp ...

スペースを含むヘッダー / 値は引用符で囲む必要があります(例: "Content-Disposition: attachment; filename=filename.ext")。引用符で囲まないと、シェルがこの値を複数の引数に分割します。

次のヘッダーはオブジェクト メタデータとして保存され、オブジェクトに対する今後のリクエストで使用されます。


Cache-Control
Content-Disposition
Content-Encoding
Content-Language
Content-Type

次のヘッダーは、データの整合性を確認するために使用されます。


Content-MD5

gsutil では、次のように、一致する Cloud Storage Provider の接頭辞を含むカスタム メタデータ ヘッダーもサポートされます。


x-goog-meta-

gs:// URL の場合、キャッシュ制御ヘッダーは API 固有になります。XML API は、キャッシュ制御ヘッダーを受け入れ、オブジェクトのダウンロードでヘッダーを返します。JSON API は、public、private、no-cache、max-age キャッシュ制御ヘッダーのみを受け入れます。指定されていない場合でも、固有の no-transform ディレクティブが追加されることがあります。gsutil と API のやり取りについては、gsutil help apis をご覧ください。

アップロード後にオブジェクトのメタデータ フィールドを設定する方法については、gsutil help setmeta をご覧ください。

-i

構成された認証情報を使用して、サービス アカウントになりすますことが可能です。次に例を示します。


gsutil -i "service-account@google.com" ls gs://pub

この設定は XML API と S3 では無視されます。サービス アカウントになりすます方法について詳しくは、gsutil help creds をご覧ください。

-m

サポートされている操作(acl ch、acl set、cp、mv、rm、rsync、setmeta)を並行して実行できます。比較的高速なネットワーク接続で大量のファイルに操作を実行する場合、このオプションを使用すると、パフォーマンスが大幅に向上します。

gsutil は、マルチスレッドとマルチ処理を組み合わせて指定の操作を実行します。使用するスレッド数とプロセス数は、boto 設定ファイルの parallel_thread_count 値と parallel_process_count 値に設定されています。最適な値は、ネットワーク速度、CPU の数、使用可能なメモリによって異なります。必要に応じて、これらの値をテストして最適な値を確認してください。

事業用ではない家庭向けのネットワーク プランで提供される一般的なネットワーク速度など、使用しているネットワークが低速の場合に -m オプションを使用すると、パフォーマンスが低下することがあります。また、すべての操作をローカルで実行すると(たとえば、gsutil rsync の同期元と同期先の URL がともにローカル ディスクの場合)、ローカル ディスクが大量に消費され、パフォーマンスが低下する可能性があります。

転送全体が完了する前に(たとえば、1,000 個のファイルのうち 300 個が転送された後で)並列転送のダウンロードやアップロードが失敗した場合、転送を最初からやり直す必要があります。

-m フラグが無効になっている場合、大半のコマンドはエラーの検出時に失敗します。-m が有効になっていると、すべてのコマンドがマルチスレッドまたはマルチ処理を使用してすべての操作を再試行します。コマンドの実行が終了した時点で、失敗した操作の数が例外として報告されます。

-o boto 構成値を設定または上書きします。<section>:<name>=<value> の形式で指定します。例: gsutil -o "Boto:proxy=host" ... この場合、gsutil 統合テストにオプションを渡さず、別々のプロセスで実行されます。
-q gsutil がサイレント モードで操作を実行します。エラーは報告されますが、ファイルのコピーや削除の進捗状況は表示されません。このオプションは、cron ジョブから gsutil を実行してログをファイルに出力する場合や、ログにエラーだけを記録する場合に便利です。
-u

リクエストに対して課金されるユーザー プロジェクトを指定できます。 例:


gsutil -u "bill-this-project" cp ...