

**이 문서는 AWS CLI의 버전 1에만 해당합니다.**

곧 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/)를 참조하세요.

# AWS CLI에서 공통 파라미터 유형
<a name="cli-usage-parameters-types"></a>

이 섹션에서는 몇 가지 공통 파라미터 유형과 일반적으로 필요한 형식에 대해 설명합니다.

특정 명령에 대한 파라미터의 형식 지정에 문제가 있는 경우, 명령 이름 다음에 **help**를 입력하여 도움말을 검토합니다. 각 하위 명령에 대한 도움말에는 옵션의 이름과 설명이 포함되어 있습니다. 옵션의 파라미터 유형이 괄호 안에 나열됩니다. 도움말 보기에 대한 자세한 내용은 [AWS CLI에 대한 도움말 및 리소스 액세스](cli-usage-help.md) 섹션을 참조하세요.

**Topics**
+ [문자열](#parameter-type-string)
+ [타임스탬프](#parameter-type-timestamp)
+ [List](#parameter-type-list)
+ [부울](#parameter-type-boolean)
+ [Integer](#parameter-type-integer)
+ [이진/blob(이진 대용량 객체) 및 스트리밍 blob](#parameter-type-blobs)
+ [맵](#parameter-type-map)
+ [문서](#parameter-type-document)

## 문자열
<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` 파일 설정을 사용하여 타임스탬프 형식을 설정할 수 있습니다.

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

공백으로 구분된 하나 이상의 문자열입니다. 문자열 항목에 공백이 포함되어 있으면 해당 항목 앞뒤에 인용 부호를 사용해야 합니다. 예기치 않은 결과를 방지하기 위해 터미널의 [인용 규칙](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` 버전의 파라미터도 포함됩니다. 기본 동작이기 때문에 반드시 포함할 필요는 없습니다.

## Integer
<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이 있습니다.
+ [Blob](#parameter-type-blob)
+ [스트리밍 Blob](#parameter-type-streaming-blob)

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

`blob` 유형의 파라미터에 값을 전달하려면 `fileb://` 접두사를 사용하여 이진 데이터가 포함된 로컬 파일의 경로를 지정해야 합니다. `fileb://` 접두사를 사용하여 참조된 파일은 항상 인코딩되지 않은 원시 이진 값으로 처리됩니다. 지정된 경로는 현재 작업 디렉터리를 기준으로 하는 것으로 해석됩니다. 예를 들어 `--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을 사용하려면 명령줄 JSON 프로세서(예: `jq`)를 사용하여 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>

문서 유형의 유연한 특성으로 인해 유효한 값 유형이 여러 개 있습니다. 유효한 값은 다음과 같습니다.

**문자열**  

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

**숫자**  

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