

**このドキュメントはバージョン 1 の AWS CLI のみを対象としています。**

AWS CLI バージョン 1 のサポート終了を発表しました。AWS CLI バージョン 2 に移行することをお勧めします。日付、その他の詳細、移行方法については、「[お知らせ](https://aws.amazon.com/blogs/developer/cli-v1-maintenance-mode-announcement/)」を参照してください。AWS CLI のバージョン 2 に関連するドキュメントについては、[バージョン 2 用ユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/)を参照してください。

# Common parameter types in the AWS CLI
<a name="cli-usage-parameters-types"></a>

このセクションでは、いくつかの一般的なパラメータタイプと一般的に必要な形式について説明します。

特定のコマンドでパラメータの書式化に問題がある場合には、コマンド名の後に **help** と入力することによって、ヘルプを確認してみてください。各サブコマンドのヘルプには、オプションの名前と説明が示されています。オプションのパラメータタイプは、括弧内に一覧表示されています。ヘルプ表示の詳細については、「[Accessing help and resources for the AWS CLI](cli-usage-help.md)」を参照してください。

**Topics**
+ [String](#parameter-type-string)
+ [タイムスタンプ](#parameter-type-timestamp)
+ [リスト](#parameter-type-list)
+ [ブール値](#parameter-type-boolean)
+ [整数](#parameter-type-integer)
+ [バイナリ/blob (バイナリラージオブジェクト) とストリーミング blob](#parameter-type-blobs)
+ [マップ](#parameter-type-map)
+ [ドキュメント](#parameter-type-document)

## String
<a name="parameter-type-string"></a>

文字列パラメータには、[ASCII](https://wikipedia.org/wiki/ASCII) 文字セットの英数字、記号、空白文字が使用できます。空白文字を含む文字列は引用符で囲まれている必要があります。予期しない結果を避けるため、標準の空白文字以外の記号や空白文字は使用せず、お使いの端末の[引用符のルール](cli-usage-parameters-quoting-strings.md)に従うことをお勧めします。

一部の文字列パラメータはファイルからバイナリデータを受け取ることができます。例については、「[バイナリファイル](cli-usage-parameters-file.md#cli-usage-parameters-file-binary)」を参照してください。

## タイムスタンプ
<a name="parameter-type-timestamp"></a>

タイムスタンプの形式は [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) 標準に従います。これらは「`DateTime`」または「`Date`」パラメータと呼ばれることもあります。

```
$ aws ec2 describe-spot-price-history --start-time 2014-10-13T19:00:00Z
```

有効な形式は次のとおりです。
+ *YYYY*-*MM*-*DD*T*hh*:*mm*:*ss.sss**TZD (UTC)* (例: 2014-10-01T20:30:00.000Z)
+ *YYYY*-*MM*-*DD*T*hh*:*mm*:*ss.sss**TZD (オフセットあり)* (例: 2014-10-01T12:30:00.000-08:00)
+ *YYYY*-*MM*-*DD* (例: 2014-10-01)
+ Unix 時間 (秒)、例: 1412195400。これは [Unix エポック時間](https://wikipedia.org/wiki/Unix_time)と呼ばれることもあり、1970 年 1 月 1 日午前 0 時 (UTC) からの秒数を表します。

`cli\$1timestamp\$1format` ファイル設定を使用して、タイプスタンプ形式を設定できます。

## リスト
<a name="parameter-type-list"></a>

スペースで区切られた 1 つ以上の文字列。文字列項目にスペースがある場合は、その項目を引用符で囲む必要があります。予期しない結果を避けるため。お使いの端末の[引用のルール](cli-usage-parameters-quoting-strings.md)を遵守してください。

```
$ aws ec2 describe-spot-price-history --instance-types m1.xlarge m1.medium
```

## ブール値
<a name="parameter-type-boolean"></a>

オプションをオンまたはオフにするバイナリフラグです。例えば、`ec2 describe-spot-price-history` にはブール型の `--dry-run` パラメータがあり、このパラメータが指定されると、クエリを実際に実行することなくサービスのクエリを検証します。

```
$ aws ec2 describe-spot-price-history --dry-run
```

出力にはコマンドが正しい形式だったかどうかが示されます。このコマンドには、`--no-dry-run` バージョンのパラメータも含まれ、これを使用して、コマンドを通常どおりに実行することを明示的に示すことができます。これは、デフォルトの動作であるため、含める必要はありません。

## 整数
<a name="parameter-type-integer"></a>

符号なしの整数。

```
$ aws ec2 describe-spot-price-history --max-items 5
```

## バイナリ/blob (バイナリラージオブジェクト) とストリーミング blob
<a name="parameter-type-blobs"></a>

AWS CLI では、バイナリ値を文字列としてコマンドラインで直接渡すことができます。blob には 2 つのタイプがあります。
+ [blob](#parameter-type-blob)
+ [ストリーミング blob](#parameter-type-streaming-blob)

### blob
<a name="parameter-type-blob"></a>

タイプ `blob` で、パラメータに値を渡すには、`fileb://` プレフィックスを使用してバイナリデータを含むローカルファイルへのパスを指定する必要があります。`fileb://` プレフィックスを使用して参照されるファイルは、常に、エンコードされていない raw バイナリとして扱われます。指定されたパスは、現在の作業ディレクトリに対する相対パスとして解釈されます。例えば、`--plaintext` の `aws kms encrypt` パラメータは blob です。

```
$ aws kms encrypt \
    --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
    --plaintext fileb://ExamplePlaintextFile \
    --output text \
    --query CiphertextBlob | base64 \
    --decode > ExampleEncryptedFile
```

### ストリーミング blob
<a name="parameter-type-streaming-blob"></a>

`aws cloudsearchdomain upload-documents` などのストリーミング blob はプレフィックスを使用しません。代わりに、ストリーミング blob パラメータは直接ファイルパスを使用してフォーマットされます。次の例では、`aws cloudsearchdomain upload-documents` コマンドに直接ファイルパス `document-batch.json` を使用しています。

```
$ aws cloudsearchdomain upload-documents \
    --endpoint-url https://doc-my-domain.us-west-1.cloudsearch.amazonaws.com \
    --content-type application/json \
    --documents document-batch.json
```

## マップ
<a name="parameter-type-map"></a>

JSON または CLI の[短縮構文](cli-usage-shorthand.md)を使用して指定されたキーと値のペアのセット。次の JSON の例では、マップパラメータ `--key`を使用して、* my-table *という名前の Amazon DynamoDB テーブルから項目を読み取ります。パラメータは、ネストされた JSON 構造の数値 *1* で *id* という名前のプライマリキーを指定します。

コマンドラインでより高度な JSON を使用するには、`jq` のようなコマンドライン JSON プロセッサを使用して JSON 文字列を作成することを検討してください。`jq` の詳細については、*GitHub* の [jq repository](http://stedolan.github.io/jq/) を参照してください。

```
$ aws dynamodb get-item --table-name my-table --key '{"id": {"N":"1"}}'

{
    "Item": {
        "name": {
            "S": "John"
        },
        "id": {
            "N": "1"
        }
    }
}
```

## ドキュメント
<a name="parameter-type-document"></a>

**注記**  
[短縮構文](cli-usage-shorthand.md)は、ドキュメントタイプと互換性がありません。

ドキュメントタイプは、文字列内に JSON を埋め込む必要なく、データを送信するために使用されます。ドキュメントタイプによってサービスが任意のスキーマを提供することで、より柔軟なデータ型を使用できます。

これにより、値をエスケープすることなく JSON データを送信できます。例えば、次のようにエスケープされた JSON 入力の代わりに使用します。

```
{"document": "{\"key\":true}"}
```

次のドキュメントタイプが使用できます。

```
{"document": {"key": true}}
```

### ドキュメントタイプに対し有効な値
<a name="parameter-type-document-valid"></a>

ドキュメントタイプは柔軟な性質を持っているため、有効な値のタイプは複数あります。有効な値には次のようなものがあります。

**String**  

```
--option '"value"'
```

**Number**  

```
--option 123
--option 123.456
```

**ブール値**  

```
--option true
```

**Null**  

```
--option null
```

**配列**  

```
--option '["value1", "value2", "value3"]'
--option '["value", 1, true, null, ["key1", 2.34], {"key2": "value2"}]'
```

**オブジェクト**  

```
--option '{"key": "value"}'
--option '{"key1": "value1", "key2": 123, "key3": true, "key4": null, "key5": ["value3", "value4"], "key6": {"value5": "value6"}'
```