Command line options in the AWS CLI
AWS CLI で、コマンドラインオプションはグローバルパラメータであり、デフォルトの設定、対応するプロファイル設定、単一のコマンドの環境変数設定を上書きできます。使用するプロファイルを指定することはできますが、コマンドラインオプションを使用して認証情報を直接指定することはできません。
コマンドラインオプションの使用方法
ほとんどのコマンドラインオプションは、次の例のプロファイル名 profile1 などの単純な文字列です。
$aws s3 ls --profileprofile1amzn-s3-demo-bucket1 amzn-s3-demo-bucket2 ...
引数を使用する各オプションには、オプション名から引数を分離するスペースまたは等号 (=) が必要です。引数値にスペースが含まれている文字列がある場合は、引数を引用符で囲む必要があります。引数の型とパラメータの書式設定の詳細については、「AWS CLI でのパラメータ値の指定」を参照してください。
AWS CLI でサポートされているグローバルコマンドラインオプション
AWS CLI では、次のコマンドラインオプションを使用して、デフォルトの構成設定、対応するプロファイル設定、またはその単一のコマンドの環境変数設定を上書きできます。
- --ca-bundle
<string> -
SSL 証明書の検証時に使用する証明機関 (CA) 証明書バンドルを指定します。
定義されている場合、このオプションはプロファイル設定
ca_bundleの値およびAWS_CA_BUNDLE環境変数よりも優先されます。 - --cli-auto-prompt
-
単一のコマンドに対して自動プロンプトモードを有効にします。以下の例にあるように、これは任意の場所で指定できます。
$aws --cli-auto-prompt$aws dynamodb --cli-auto-prompt$aws dynamodb describe-table --cli-auto-promptこのオプションは、
aws_cli_auto_prompt環境変数とcli_auto_promptプロファイル設定を上書きします。AWS CLI バージョン 2 の自動プロンプト機能の詳細については、「AWS CLI でのコマンドプロンプトの有効化と使用」を参照してください。
- --cli-binary-format
-
AWS CLI バージョン 2 がバイナリ入力パラメータをどのように解釈するかを指定します。これには、次のいずれかの値を指定できます。
-
base64 - これはデフォルト値です。バイナリラージオブジェクト (BLOB) として型指定された入力パラメータは、base64 でエンコードされた文字列を受け入れます。真のバイナリコンテンツを渡すには、コンテンツをファイルに置き、ファイルのパスと名前をパラメータの値として
fileb://プレフィックスを付けて指定します。ファイルに含まれる base64 エンコードされたテキストを渡すには、ファイルのパスと名前をパラメータの値としてfile://プレフィックスを付けて指定します。 -
raw-in-base64-out — AWS CLI バージョン 1 のデフォルト。設定の値が
raw-in-base64-outの場合、file://プレフィックスを使用して参照されるファイルはテキストとして読み取られます。AWS CLI は、これをバイナリにエンコードしようとします。
これは
cli_binary_formatファイル設定を上書きします。$aws lambda invoke \ --cli-binary-format raw-in-base64-out \ --function-name my-function \ --invocation-type Event \ --payload '{ "name": "Bob" }' \ response.jsonfileb://プレフィックス表記を使用してファイル内のバイナリ値を参照する場合、AWS CLI は 常にファイルに raw バイナリコンテンツが含まれていることを想定し、値の変換は試行しません。file://プレフィックス表記を使用してファイル内のバイナリ値を参照する場合、AWS CLI は現在のcli_binary_format設定に従ってファイルを処理します。その設定の値がbase64(明示的に設定されていない場合のデフォルト) の場合、AWS CLI はファイルに base64 エンコードされたテキストが含まれていることを期待します。設定の値がraw-in-base64-outの場合、AWS CLI はファイルに raw バイナリコンテンツが含まれていることを期待します。 -
- --cli-connect-timeout
<integer> -
ソケットの最大接続時間を秒単位で指定します。この値をゼロ (0) に設定すると、ソケットの接続は無期限に待機し (ブロックされ)、タイムアウトになりません。デフォルト値は 60 秒です。
- --cli-read-timeout
<integer> -
ソケットの最大読み込み時間を秒単位で指定します。この値をゼロ (0) に設定すると、ソケットの読み込みは無期限に待機し (ブロックされ)、タイムアウトになりません。デフォルト値は 60 秒です。
- --color
<string> -
色出力のサポートを指定します。有効な値は、
on、off、autoです。デフォルト値はautoです。 - --debug
-
デバッグログ記録を有効にするブールスイッチ。デフォルトでは、AWS CLI は、コマンド出力のコマンド結果に関する成功または失敗に関するクリーンアップ情報を提供します。
--debugこのオプションでは、完全な Python ログが提供されます。これには、コマンドが予期しない結果を提供する原因をトラブルシューティングするときに使用できるコマンドのオペレーションに関する追加のstderr診断情報が含まれています。デバッグログを簡単に表示するには、ログをファイルに送信して、情報をより簡単に検索することをお勧めします。これを行うには、次のいずれかを使用します。stderrの診断情報のみを送信するには、2> debug.txtを追加します。ここで、debug.txtはデバッグファイルに使用する名前です。$aws2>servicenamecommandnameoptions--debugdebug.txt出力情報と
stderr診断情報の両方を送信するには、&> debug.txtを追加します。ここで、debug.txtはデバッグファイルに使用する名前です。$aws&>servicenamecommandnameoptions--debugdebug.txt - --endpoint-url
<string> -
リクエストを送信する URL を指定します。ほとんどのコマンドでは、AWS CLI により、選択したサービスと AWS リージョンに基づいて URL が自動的に決定されます。ただし、一部のコマンドでは、アカウント固有の URL を指定する必要があります。一部の AWS サービスでは、プライベート VPC 内で直接エンドポイントをホストすることもできますが、URL を指定する必要がある場合があります。
以下のコマンド例では、カスタム Amazon S3 エンドポイント URL を使用しています。
$aws s3 ls --endpoint-urlhttp://localhost:4567エンドポイントの優先順位
エンドポイント設定は、システム環境変数、ユーザー環境変数、ローカルの AWS 設定ファイルなど複数の場所にあり、コマンドラインでパラメータとして明示的に宣言される場合もあります。AWS CLI により、これらのエンドポイント設定を特定の順序でチェックされ、優先順位が最も高いエンドポイント設定が使用されます。エンドポイントの優先順位リストについては、「エンドポイント設定と設定の優先順位」を参照してください。
- --no-cli-auto-prompt
-
単一のコマンドに対して自動プロンプトモードを無効にします。
$aws dynamodb describe-table --table-name Table1 --no-cli-auto-promptこのオプションは、
aws_cli_auto_prompt環境変数とcli_auto_promptプロファイル設定を上書きします。AWS CLI バージョン 2 の自動プロンプト機能の詳細については、「AWS CLI でのコマンドプロンプトの有効化と使用」を参照してください。
- --no-cli-pager
-
コマンドの出力に対するページャーの使用を無効にするブール型スイッチ。
- --no-paginate
-
出力のページ分割を作成するすべてのコマンド結果を受け取るために AWS CLI が自動的に行う複数の呼び出しを無効にするブール型スイッチ。つまり、出力の最初のページのみが表示されます。
- --no-sign-request
-
AWS サービスエンドポイントに対する HTTP リクエストへの署名を無効にするブールスイッチ。これにより、認証情報がロードされることを防ぎます。
- --no-verify-ssl
-
デフォルトでは、AWS CLI は AWS のサービスとの通信に SSL を使用します。SSL 接続およびコールごとに、AWS CLI は SSL 証明書を検証します。このオプションを使用すると、SSL 証明書を検証するデフォルトの動作がオーバーライドされます。
警告
このオプションは、ベストプラクティスではありません。
--no-verify-sslを使用すると、クライアントと AWS のサービスとの間のトラフィックは保護されなくなります。つまり、トラフィックはセキュリティ上のリスクとなり、中間者攻撃を受けやすくなります。証明書に問題がある場合は、代わりに問題を解決するのが最善です。証明書のトラブルシューティング手順については、「SSL 証明書のエラー」を参照してください。 - --output
<string> -
このコマンドに使用する出力形式を指定します。次の値のいずれかを指定できます。
-
YAML ストリーム出力形式 - 出力はストリームされ、YAML
文字列としてフォーマットされます。ストリーミングにより、大きなデータタイプの処理を高速化できます。 -
text - 出力は、複数行のタブ区切りの文字列値としてフォーマットされます。これは、
grep、sed、またはawkなどのテキストプロセッサに出力を渡すのに役立ちます。 -
table - 出力は、テーブルとしてフォーマットされ、文字の「+|-」を使用してセルの境界を形成します。通常、情報は他の形式よりも読みやすい「わかりやすい」形式で表示されますが、プログラムとしては役立ちません。
- --profile
<string> -
このコマンドに使用する named profile を指定します。追加の名前付きプロファイルを設定するには、
aws configureオプションを指定して--profileコマンドを使用します。$aws configure --profile<profilename> - --query
<string> -
JMESPath クエリ
を指定して、レスポンスデータのフィルタリングに使用します。詳細については、「Filtering output in the AWS CLI」を参照してください。 - --region
<string> -
このコマンドの AWS リクエストを送信する AWS リージョンを指定します。指定できるすべてのリージョンのリストについては、「Amazon Web Services 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。
- --version
-
実行している AWS CLI プログラムの現在バージョンを表示するブールスイッチ。
コマンドラインオプションの一般的な用途
コマンドラインオプションの一般的な使用方法には、複数の AWS リージョンでのリソースの確認、および、スクリプティングでの読みやすさや使いやすさのための出力形式の変更が含まれます。次の例では、インスタンスがどのリージョンにあるかを見つけるまで、各リージョンに対して describe-instances コマンドを実行します。
$aws ec2 describe-instances --output table --regionus-west-1------------------- |DescribeInstances| +-----------------+$aws ec2 describe-instances --output table --regionus-west-2------------------------------------------------------------------------------ | DescribeInstances | +----------------------------------------------------------------------------+ || Reservations || |+-------------------------------------+------------------------------------+| || OwnerId | 012345678901 || || ReservationId | r-abcdefgh || |+-------------------------------------+------------------------------------+| ||| Instances ||| ||+------------------------+-----------------------------------------------+|| ||| AmiLaunchIndex | 0 ||| ||| Architecture | x86_64 ||| ...