

**本文件 AWS CLI 僅適用於 第 1 版。**

我們已宣布即將end-of-support。 AWS CLI 我們建議您遷移至 第 2 AWS CLI 版。如需日期、其他詳細資訊和如何遷移的資訊，請參閱 [公告](https://aws.amazon.com/blogs/developer/cli-v1-maintenance-mode-announcement/)。如需 第 2 版的相關文件 AWS CLI，請參閱 第 [2 版使用者指南](https://docs.aws.amazon.com/cli/latest/userguide/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 中的常見參數類型 AWS CLI
<a name="cli-usage-parameters-types"></a>

本節說明一些常見的參數類型和典型必要格式。

如果您對特定命令的參數格式有問題，請在命令名稱後輸入 **help** 來檢視說明。每個子命令的幫助包括選項的名稱和說明。該選項的參數類型在括弧中列出。如需檢視說明的詳細資訊，請參閱 [存取 的說明和資源 AWS CLI](cli-usage-help.md)。

**Topics**
+ [String](#parameter-type-string)
+ [時間戳記](#parameter-type-timestamp)
+ [清單](#parameter-type-list)
+ [Boolean](#parameter-type-boolean)
+ [Integer](#parameter-type-integer)
+ [Binary/Blob (二進位大型物件)和串流 Blob](#parameter-type-blobs)
+ [Map](#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 Epoch 時間](https://wikipedia.org/wiki/Unix_time)，表示為 1970 年 1 月 1 日午夜 (UTC 時間) 以來的秒數。

您可以透過使用 `cli\$1timestamp\$1format` 檔案設定來設定時間戳記格式。

## 清單
<a name="parameter-type-list"></a>

由空格分隔的一個或多個字串。如果任何字串項目包含空格，就必須使用引號括住該項目。遵守您的終端機的[引號規則](cli-usage-parameters-quoting-strings.md)以防止意外結果。

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

## Boolean
<a name="parameter-type-boolean"></a>

可開啟或關閉選項的二進位標記。例如，`ec2 describe-spot-price-history` 有一個布林值 `--dry-run` 參數，當指定時，可以在不實際執行查詢的情況下針對服務驗證查詢。

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

輸出表明該命令的格式是否正確。此命令還包含一個 `--no-dry-run` 版本的參數，可用於明確指示該命令應該正常執行。包括它並不是必須的，因為這是預設行為。

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

一個不帶正負號的整數。

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

## Binary/Blob (二進位大型物件)和串流 Blob
<a name="parameter-type-blobs"></a>

在 中 AWS CLI，您可以直接在命令列上以字串形式傳遞二進位值。Blob 有兩種：
+ [Blob](#parameter-type-blob)
+ [串流 Blob](#parameter-type-streaming-blob)

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

若要將值傳遞至類型為 `blob` 的參數，您必須使用 `fileb://` 字首為包含二進位資料的本機檔案指定路徑。使用 `fileb://` 字首參考的檔案一律視為原始未編碼的二進位。指定的路徑會解譯為相對於目前的工作目錄。例如，`aws kms encrypt` 的 `--plaintext` 參數是一個 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 參數。下列範例將直接檔案路徑 `document-batch.json` 用於 `aws cloudsearchdomain upload-documents` 命令：

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

## Map
<a name="parameter-type-map"></a>

以 JSON 或使用 CLI [速記語法](cli-usage-shorthand.md)指定的鍵/值對組。以下 JSON 範例從名為 *my-table* 的 Amazon DynamoDB 表格中讀取一個項目，並附帶地圖參數 `--key`。該參數指定一個名為 *id* 的主金鑰，其在巢狀的 JSON 結構中具有數值 *1*。

若要在命令列中使用更進階的 JSON，請考慮使用 `jq` 之類的命令列 JSON 處理器來建立 JSON 字串。如需 `jq` 的詳細資訊，請參閱 *GitHub* 上的 [jq 儲存庫](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"'
```

**數字**  

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

**Boolean**  

```
--option true
```

**Null**  

```
--option null
```

**Array**  

```
--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"}'
```