공통 AWS CLI 파라미터 유형 - AWS Command Line Interface

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

공통 AWS CLI 파라미터 유형

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

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

문자열

문자열 파라미터에는 영숫자 문자, 기호 및 ASCII 문자 세트의 공백이 포함될 수 있습니다. 공백이 포함된 문자열은 인용 부호로 묶어야 합니다. 표준 공백 문자 이외의 기호 또는 공백은 사용하지 않고 예기치 않은 결과를 방지하기 위해 터미널의 인용 규칙을 준수하는 것이 좋습니다.

일부 문자열 파라미터는 파일의 이진 데이터를 허용할 수 있습니다. 예제는 이진 파일 단원을 참조하십시오.

타임스탬프

타임스탬프는 ISO 8601 표준에 따른 형식입니다. 흔히 ‘DateTime’ 또는 ‘Date’ 파라미터라고 합니다.

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

허용 가능한 형식은 다음과 같습니다.

  • YYYY-MM-DDThh:mm:ss.sssTZD (UTC), 예: 2014-10-01T20:30:00.000Z

  • YYYY-MM-DDThh:mm:ss.sssTZD(오프셋 포함), 예: 2014-10-01T12:30:00.000-08:00

  • YYYY-MM-DD, 예: 2014-10-01

  • 초 단위의 Unix 시간, 예: 1412195400 경우에 따라 Unix Epoch 시간이라고도 하며 1970년 1월 1일 자정 UTC 이후 경과된 초 수를 나타냅니다.

기본적으로 AWS CLI 버전 2는 모든 응답 DateTime 값을 ISO 8601 형식으로 변환합니다.

cli_timestamp_format 파일 설정을 사용하여 타임스탬프 형식을 설정할 수 있습니다.

목록

공백으로 구분된 하나 이상의 문자열입니다. 문자열 항목에 공백이 포함되어 있으면 해당 항목 앞뒤에 인용 부호를 사용해야 합니다. 예기치 않은 결과를 방지하기 위해 터미널의 인용 규칙을 준수합니다.

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

부울

옵션을 켜거나 끄는 이진 플래그입니다. 예를 들어, ec2 describe-spot-price-history에는 지정할 경우 실제 쿼리는 실행하지 않고 서비스에 대해 쿼리를 검증하는 부울 --dry-run 파라미터가 있습니다.

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

출력은 명령이 제대로 구성되었는지 여부를 나타냅니다. 또한 이 명령에는 명령을 정상적으로 실행해야 함을 명시적으로 표시하는 데 사용할 수 있는 --no-dry-run 버전의 파라미터도 포함됩니다. 기본 동작이기 때문에 반드시 포함할 필요는 없습니다.

정수

부호가 없는 정수입니다.

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

이진/blob(이진 대용량 객체) 및 스트리밍 blob

AWS CLI에서는 명령줄에서 직접 문자열로 이진 값을 전달할 수 있습니다. 다음과 같은 두 가지 유형의 Blob이 있습니다.

Blob

blob 유형의 파라미터에 값을 전달하려면 fileb:// 접두사를 사용하여 이진 데이터가 포함된 로컬 파일의 경로를 지정해야 합니다. fileb:// 접두사를 사용하여 참조된 파일은 항상 인코딩되지 않은 원시 이진 값으로 처리됩니다. 지정된 경로는 현재 작업 디렉터리를 기준으로 하는 것으로 해석됩니다. 예를 들어 --plaintextaws kms encrypt 파라미터는 BLOB입니다.

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

이전 버전과의 호환성을 위해 file:// 접두사를 사용할 수 있습니다. 파일 설정 cli_binary_format 또는--cli-binary-format 명령줄 옵션에 따라 두 가지 형식이 사용됩니다.

  • AWS CLI 버전 2의 기본값입니다. 설정 값이 base64이면 file:// 접두사를 사용하여 참조된 파일이 base64 인코딩 텍스트로 처리됩니다.

  • AWS CLI 버전 1의 기본값입니다. 설정 값이 raw-in-base64-out이면 file:// 접두사를 사용하여 참조된 파일이 텍스트로 읽히고 AWS CLI에서 이진수로 인코딩을 시도합니다.

자세한 내용은 파일 설정 cli_binary_format 또는 --cli-binary-format 명령줄 옵션을 참조하세요.

스트리밍 Blob

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

JSON 또는 CLI의 간편 구문으로 지정된 키-값 페어 집합입니다. 다음 JSON 예제에서는 --key 맵 파라미터가 포함된 my-table이라는 Amazon DynamoDB 테이블에서 항목을 읽습니다. 파라미터는 중첩된 JSON 구조로 1 숫자 값을 가진 id라는 기본 키를 지정합니다.

명령줄에서 고급 JSON을 사용하려면 명령줄 JSON 프로세서(예: jq)를 사용하여 JSON 문자열을 생성하는 것이 좋습니다. jq에 대한 자세한 내용은 GitHub에서 jq 리포지토리를 참조하세요.

$ aws dynamodb get-item --table-name my-table --key '{"id": {"N":"1"}}' { "Item": { "name": { "S": "John" }, "id": { "N": "1" } } }

문서

참고

약식 구문은 문서 유형과 호환되지 않습니다.

문서 유형은 문자열 내에 JSON을 포함할 필요 없이 데이터를 전송하는 데 사용됩니다. 문서 유형을 사용하면 서비스에서 보다 유연한 데이터 유형을 사용할 수 있도록 임의의 스키마를 제공할 수 있습니다.

이를 통해 값을 이스케이프 처리하지 않고도 JSON 데이터를 전송할 수 있습니다. 예를 들어 다음과 같은 이스케이프된 JSON 입력을 사용하는 대신

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

다음 문서 유형을 사용할 수 있습니다.

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

문서 유형에 유효한 값

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

문자열
--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"}'