View a markdown version of this page

Amazon S3 전송을 위한 S3 출력 키 템플릿 Amazon S3 - Amazon Kinesis Data Streams

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

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는 모든 객체 키에 고유한 접미사를 자동으로 추가하므로 템플릿에 구분할 수 있을 만큼 미세한 시간 구성 요소가 포함되어 있지 않더라도 객체 키는 고유합니다.

템플릿 변수

키 템플릿에서 사용할 수 있는 변수는 다음과 같습니다.

S3 키 템플릿 변수
변수 설명 예시 값
!{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:.literal} 지정한 리터럴 파일 확장명입니다. 마침표로 시작하고 소문자와 마침표만 포함해야 합니다. 있는 경우 템플릿 끝에 나타나야 합니다. !{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} (닫는 중괄호 누락) 아니요 닫히지 않은 변수 자리 표시자입니다.