の ファイルからパラメータをロードする AWS CLI - AWS Command Line Interface

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

の ファイルからパラメータをロードする AWS CLI

一部のパラメータでは、ファイル名を引数として想定し、そこから がデータを AWS CLI ロードします。他のパラメータを使用すると、コマンドラインで入力するテキストまたはファイルから読み取るテキストとしてパラメータ値を指定できます。ファイルが必要かオプションかにかかわらず、 がファイル AWS CLI を理解できるように、ファイルを正しくエンコードする必要があります。ファイルのエンコーディングは、読み取りシステムのデフォルトロケールと一致する必要があります。これは、Python の locale.getpreferredencoding() メソッドを使用して判断できます。

注記

デフォルトでは、Windows はテキストを UTF-16 として PowerShell 出力します。これは、JSONファイルや多くの Linux システムで使用されている UTF-8 エンコーディングと競合します。が結果のファイル AWS CLI を読み取れるように、 コマンド-Encoding asciiで PowerShell Out-File を使用することをお勧めします。

ファイルからパラメータをロードする方法

パラメータが複雑なJSON文字列である場合など、すべてコマンドラインパラメータ値として入力する代わりに、ファイルからパラメータ値をロードするのが便利な場合があります。値を含むファイルを指定するには、URL次の形式でファイルを指定します。

file://complete/path/to/file
  • 最初の 2 つのスラッシュ「/」文字は仕様の一部です。必要なパスが「/」で始まる場合、結果は 3 つのスラッシュ文字 file:///folder/file になります。

  • URL は、実際のパラメータコンテンツを含むファイルへのパスを提供します。

  • スペースまたは特殊文字を含むファイルを使用する場合は、お使いの端末の引用符とエスケープのルールに従ってください。

次の例のファイルパスは、現在の作業ディレクトリに対する相対値として解釈されます。

Linux or macOS
// Read from a file in the current directory $ aws ec2 describe-instances --filters file://filter.json // Read from a file in /tmp $ aws ec2 describe-instances --filters file:///tmp/filter.json // Read from a file with a filename with whitespaces $ aws ec2 describe-instances --filters 'file://filter content.json'
Windows command prompt
// Read from a file in C:\temp C:\> aws ec2 describe-instances --filters file://C:\temp\filter.json // Read from a file with a filename with whitespaces C:\> aws ec2 describe-instances --filters "file://C:\temp\filter content.json"

file:// プレフィックスオプションは、「~/」、「./」、および「../」など、Unix 形式の拡張子をサポートしています。Windows では、「~/」式は、%USERPROFILE% 環境変数に格納されているユーザーディレクトリに展開されます。例えば、Windows 10 では、一般にユーザーディレクトリは C:\Users\UserName\ にあります。

別のJSONドキュメントの値として埋め込まれたJSONドキュメントはエスケープする必要があります。

$ aws sqs create-queue --queue-name my-queue --attributes file://attributes.json

attributes.json

{ "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-west-2:0123456789012:deadletter\", \"maxReceiveCount\":\"5\"}" }

バイナリファイル

バイナリデータをパラメータとして取るコマンドでは、fileb:// プレフィックスを使用して、データがバイナリコンテンツであることを指定します。バイナリデータを受け入れるコマンドは次のとおりです。

  • aws ec2 run-instances:--user-dataパラメータ

  • aws s3api put-object:--sse-customer-keyパラメータ

  • aws kms decrypt:--ciphertext-blobパラメータ

次の例では、Linux コマンドラインツールを使用してバイナリ 256 ビットAESキーを生成し、Amazon S3 に提供してアップロードされたファイルサーバー側を暗号化します。

$ dd if=/dev/urandom bs=1 count=32 > sse.key 32+0 records in 32+0 records out 32 bytes (32 B) copied, 0.000164441 s, 195 kB/s $ aws s3api put-object \ --bucket amzn-s3-demo-bucket \ --key test.txt \ --body test.txt \ --sse-customer-key fileb://sse.key \ --sse-customer-algorithm AES256 { "SSECustomerKeyMD5": "iVg8oWa8sy714+FjtesrJg==", "SSECustomerAlgorithm": "AES256", "ETag": "\"a6118e84b76cf98bf04bbe14b6045c6c\"" }

形式のパラメータを含むファイルを参照する別の例については、JSON「」を参照してくださいIAM 管理ポリシーのユーザーへのアタッチ