기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon S3 전송을 위한 S3 출력 키 템플릿 Amazon S3
범용 Amazon S3 버킷으로 전송할 때 S3 출력 키 템플릿을 구성하여 전송된 파일의 객체 키 구조를 제어할 수 있습니다. 키 템플릿은 선택 사항입니다. 지정하지 않으면 Amazon S3 전송에서 기본 템플릿을 사용합니다.
기본 템플릿
사용자 지정 키 템플릿을 지정하지 않으면 Amazon S3 전송은 다음 기본값을 사용합니다.
kinesis-channel/!{channel-name}/!{channel-id}/!{yyyy}/!{MM}/!{dd}/!{HH}/!{channel-name}-!{channel-id}-!{yyyy}-!{MM}-!{dd}-!{HH}-!{mm}!{extension}
마지막 슬래시(/) 이전의 부분은 객체 키 접두사(폴더 구조)를 구성하고 마지막 세그먼트는 객체 이름을 구성합니다. 기본 템플릿은 전송된 객체를 채널 및 시간별로 구성하고 객체 이름에 동일한 값을 반복하여 각 객체가 자체 설명되도록 합니다. Amazon Kinesis Data Streams는 모든 객체 키에 고유한 접미사를 자동으로 추가하므로 템플릿에 구분할 수 있을 만큼 미세한 시간 구성 요소가 포함되어 있지 않더라도 객체 키는 고유합니다.
템플릿 변수
키 템플릿에서 사용할 수 있는 변수는 다음과 같습니다.
| 변수 | 설명 | 예시 값 |
|---|---|---|
!{channel-name} |
전송의 이름입니다. | my-channel |
!{channel-id} |
전송의 고유 식별자입니다. | abc123def456 |
!{stream-name} |
소스 Kinesis Data Streams 스트림의 이름입니다. | my-stream |
!{yyyy} |
4자리 연도(UTC). | 2026 |
!{yy} |
2자리 연도(UTC). | 26 |
!{MM} |
2자리 월(UTC), 제로 패딩. | 07 |
!{dd} |
제로 패딩된 UTC(2자리 요일)입니다. | 20 |
!{HH} |
2자리 시간(UTC, 24시간), 제로 패딩. | 14 |
!{mm} |
0으로 패딩된 2자리 분(UTC). | 30 |
!{extension} |
구성된 압축 유형에서 파생된 파일 확장자입니다(예: GZIP의 .gz 경우 , ZSTD.zst의 경우 ). 있는 경우 템플릿 끝에 나타나야 합니다. |
.gz |
!{extension:. |
지정한 리터럴 파일 확장명입니다. 마침표로 시작하고 소문자와 마침표만 포함해야 합니다. 있는 경우 템플릿 끝에 나타나야 합니다. | !{extension:.json} |
템플릿 규칙
키 템플릿은 다음 규칙을 준수해야 합니다.
-
모든 변수를 확장한 후에는 결과 객체 키가 Amazon S3 객체 키 제한인 1,024자를 초과해서는 안 됩니다. Amazon Kinesis Data Streams는 최대 38자의 고유한 접미사를 추가하므로 확장된 템플릿 자체는 986자를 초과해서는 안 됩니다.
-
경로 순회를 포함해서는 안 됩니다. 연속 마침표(
..), 마침표 전용 경로 세그먼트(.) 및 슬래시()로 시작해서는 안 됩니다/. -
연속 슬래시()를 포함할 수 없습니다
//. -
모든 변수 자리 표시자는 닫아야 하며(각각 일치하는이
!{있어야 함}) 지원되는 변수 이름을 사용해야 합니다. -
허용되는 리터럴 문자는 영숫자 문자이며 입니다
! - _ ' . * ( ) / =.=캐릭터를 사용하면와 같은 Hive 스타일 파티셔닝을 표현할 수 있습니다year=!{yyyy}/month=!{MM}/. -
템플릿에는 최대 하나의 확장 자리 표시자(
!{extension}또는!{extension:.)가 포함될 수 있으며, 있는 경우 템플릿 끝에 표시되어야 합니다.literal} -
압축(GZIP 또는 ZSTD)이 활성화된 경우 템플릿에 확장 자리 표시자가 포함되어야 합니다.
참고
템플릿에 고유성 변수를 포함할 필요가 없습니다. Amazon Kinesis Data Streams는 전달된 각 객체 키에 고유한 접미사를 자동으로 추가합니다.
유효한 예제와 잘못된 예제
| 템플릿 | 유효함 | 이유 |
|---|---|---|
!{channel-name}/!{yyyy}/!{MM}/!{dd}/!{HH}/records!{extension} |
예 | 지원되는 변수를 사용하고 단일 확장 자리 표시자로 끝납니다. |
data/stream=!{stream-name}/!{yyyy}-!{MM}-!{dd}/!{HH}!{mm}!{extension:.json} |
예 | 끝에 리터럴 확장이 있는 Hive 스타일 파티셔닝입니다. |
!{channel-name}/!{channel-id} |
예 | 최소 템플릿. Kinesis Data Streams는 고유한 접미사를 자동으로 추가합니다. |
/data/!{channel-name}!{extension} |
아니요 | 슬래시로 시작합니다. |
data/../!{channel-name}!{extension} |
아니요 | 경로 순회(..)를 포함합니다. |
data//!{channel-name}!{extension} |
아니요 | 연속 슬래시(//)를 포함합니다. |
!{channel-name}!{extension}/!{yyyy} |
아니요 | 확장 자리 표시자가 템플릿 끝에 없습니다. |
data/!{partition-id}!{extension} |
아니요 | !{partition-id}는 지원되는 변수가 아닙니다. |
data/!{channel-name} (GZIP 또는 ZSTD 압축 사용) |
아니요 | 압축이 활성화되었지만 템플릿에 확장 자리 표시자가 없습니다. |
data/!{channel-name}/!{yyyy} (닫는 중괄호 누락) |
아니요 | 닫히지 않은 변수 자리 표시자입니다. |