쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

Amazon S3 객체의 사용자 지정 접두사 이해

포커스 모드
Amazon S3 객체의 사용자 지정 접두사 이해 - Amazon Data Firehose

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

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

Amazon S3에 전달되는 객체는 <평가된 접두사><접미사>의 이름 형식을 따릅니다. 런타임에 평가되는 표현식을 포함하는 사용자 지정 접두사를 지정할 수 있습니다. 지정한 사용자 지정 접두사는 기본 접두사인 yyyy/MM/dd/HH를 재정의합니다.

사용자 지정 접두사에 !{namespace:value} 형식의 표현식을 사용할 수 있으며, 여기서 namespace는 다음 섹션에서 설명하듯이 다음 중 하나가 될 수 있습니다.

  • firehose

  • timestamp

  • partitionKeyFromQuery

  • partitionKeyFromLambda

슬래시로 끝나는 접두사는 Amazon S3 버킷에서 자리 표시자로 나타납니다. 자세한 내용은 Amazon Data FirehoseDeveloper 안내서Amazon S3 객체 이름 형식을 참조하세요.

timestamp 네임스페이스

이 네임스페이스에 유효한 값은 유효한 Java DateTimeFormatter 문자열입니다. 예를 들어 2018년에 !{timestamp:yyyy} 표현식은 2018로 평가됩니다.

타임스탬프 평가 시, Firehose는 기록되는 Amazon S3 객체에 포함된 가장 오래된 레코드의 근사 도착 타임스탬프를 사용합니다.

기본적으로 타임스탬프는 UTC입니다. 하지만 원하는 시간대를 지정할 수 있습니다. 예를 들어 UTC 대신 일본 표준시를 사용하려면 AWS Management Console 또는 API 파라미터 설정(CustomTimeZone)에서 시간대를 아시아/도쿄로 구성할 수 있습니다. 지원되는 시간대 목록을 보려면 Amazon S3 객체 이름 형식을 참조하세요.

동일한 접두사 표현식에 timestamp 네임스페이스를 한 번 넘게 사용할 경우 각 인스턴스는 동일한 시간으로 평가됩니다.

firehose 네임스페이스

이 네임스페이스에는 error-output-type 값과 random-string 값을 사용할 수 있습니다. 다음 표에는 사용 방법이 나와 있습니다.

firehose 네임스페이스 값
변환 설명 입력 예 출력 예시 Notes
error-output-type Firehose 스트림 구성 및 실패 이유에 따라 {processing-failed, AmazonOpenSearchService-failed, splunk-failed, format-conversion-failed, http-endpoint-failed} 문자열 중 하나로 평가됩니다.

동일한 접두사 표현식에 한 번 넘게 사용할 경우 각 인스턴스는 동일한 오류 문자열로 평가됩니다.

myPrefix/result=!{firehose:error-output-type}/!{timestamp:yyyy/MM/dd} myPrefix/result=processing-failed/2018/08/03 error-output-type 값은 ErrorOutputPrefix 필드에만 사용할 수 있습니다.
random-string

11자의 무작위 문자열로 평가됩니다. 동일한 접두사 표현식에 한 번 넘게 사용할 경우 각 인스턴스는 새로운 무작위 문자열로 평가됩니다.

myPrefix/!{firehose:random-string}/ myPrefix/046b6c7f-0b/ 두 접두사 유형 모두에 사용할 수 있습니다.

형식 문자열 선두에 이를 배치하여 무작위의 접두사를 얻을 수 있으며, 경우에 따라 이 접두사는 Amazon S3를 통해 최고의 처리량을 얻기 위해 필요한 경우가 있습니다.

partitionKeyFromLambdapartitionKeyFromQuery 네임스페이스

동적 파티셔닝의 경우, S3 버킷 접두사에 다음 표현식 형식을 사용해야 합니다: !{namespace:value}, 여기서 네임스페이스는 partitionKeyFromQuery 또는 partitionKeyFromLambda이거나, 둘 다일 수 있습니다. 인라인 구문 분석을 사용하여 소스 데이터에 대한 파티션 키를 생성하는 경우 다음 형식으로 지정된 표현식으로 구성되는 S3 버킷 접두사 값을 지정해야 합니다: "partitionKeyFromQuery:keyID". AWS Lambda 함수를 사용하여 소스 데이터에 대한 파티션 키를 생성하는 경우 다음 형식으로 지정된 표현식으로 구성되는 S3 버킷 접두사 값을 지정해야 합니다: "partitionKeyFromLambda:keyID". 자세한 내용은 Amazon Firehose 스트림 생성의 “Amazon S3를 대상으로 선택”을 참조하세요.

의미 체계 규칙

PrefixErrorOutputPrefix 표현식에 적용되는 규칙은 다음과 같습니다.

  • timestamp 네임스페이스의 경우 작은따옴표로 묶이지 않은 문자가 평가됩니다. 즉, 값 필드에서 작은따옴표로 이스케이프 처리된 문자열은 문자로 처리됩니다.

  • 타임스탬프 네임스페이스 표현식을 포함하지 않는 접두사를 지정할 경우, Firehose는 Prefix 필드의 값에 !{timestamp:yyyy/MM/dd/HH/} 표현식을 추가합니다.

  • !{ 시퀀스는 !{namespace:value} 표현식에만 나타날 수 있습니다.

  • Prefix에 표현식이 없을 경우에만 ErrorOutputPrefix가 null이 될 수 있습니다. 이 경우 Prefix<specified-prefix>yyyy/MM/DDD/HH/로 평가되고 ErrorOutputPrefix<specified-prefix><error-output-type>yyyy/MM/DDD/HH/로 평가됩니다. DDD는 해당 연도의 날짜를 나타냅니다.

  • ErrorOutputPrefix에 표현식을 지정할 경우, 최소 한 개의 !{firehose:error-output-type} 인스턴스를 포함시켜야 합니다.

  • Prefix에는 !{firehose:error-output-type}을 포함할 수 없습니다.

  • Prefix 또는 ErrorOutputPrefix는 평가 후 512자를 넘을 수 없습니다.

  • 대상이 Amazon Redshift인 경우, Prefix에 표현식이 포함되어서는 안 되며, ErrorOutputPrefix는 null이어야 합니다.

  • 대상이 Amazon OpenSearch Service 또는 Splunk이고 지정된 ErrorOutputPrefix가 없는 경우 Firehose는 실패한 레코드에 Prefix 필드를 사용합니다.

  • 대상이 Amazon S3인 경우 Amazon S3 대상 구성의 PrefixErrorOutputPrefix를 각각 성공 레코드 및 실패 레코드에 사용합니다. AWS CLI 또는 API를 사용하는 경우 ExtendedS3DestinationConfiguration을 사용하여 자체 PrefixErrorOutputPrefix로 Amazon S3 백업 구성을 지정할 수 있습니다.

  • 를 사용하고 대상을 Amazon S3로 AWS Management Console 설정하면 Firehose는 각각 성공적인 레코드Prefix와 실패한 레코드에 대해 대상 구성ErrorOutputPrefix에서 및를 사용합니다. 표현식을 사용하여 접두사를 지정하는 경우 !{firehose:error-output-type}를 포함한 오류 접두사를 지정해야 합니다.

  • 를 AWS CLI, API와 ExtendedS3DestinationConfiguration 함께 사용하거나를 지정하는 AWS CloudFormation경우 S3BackupConfigurationFirehose는 기본를 제공하지 않습니다ErrorOutputPrefix.

  • ErrorOutputPrefix 표현식을 생성할 때 partitionKeyFromLambdapartitionKeyFromQuery 네임스페이스를 사용할 수 없습니다.

접두사의 예

PrefixErrorOutputPrefix의 예
입력 평가된 접두사(2018년 8월 27일 오전 10:30 UTC)

Prefix: 지정 안 함

ErrorOutputPrefix: myFirehoseFailures/!{firehose:error-output-type}/

Prefix: 2018/08/27/10

ErrorOutputPrefix: myFirehoseFailures/processing-failed/

Prefix: !{timestamp:yyyy/MM/dd}

ErrorOutputPrefix: 지정 안 함

잘못된 입력: 접두사에 표현식이 포함된 경우 ErrorOutputPrefix는 null이 될 수 없음

Prefix: myFirehose/DeliveredYear=!{timestamp:yyyy}/anyMonth/rand=!{firehose:random-string}

ErrorOutputPrefix: myFirehoseFailures/!{firehose:error-output-type}/!{timestamp:yyyy}/anyMonth/!{timestamp:dd}

Prefix: myFirehose/DeliveredYear=2018/anyMonth/rand=5abf82daaa5

ErrorOutputPrefix: myFirehoseFailures/processing-failed/2018/anyMonth/10

Prefix: myPrefix/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/

ErrorOutputPrefix: myErrorPrefix/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}

Prefix: myPrefix/year=2018/month=07/day=06/hour=23/

ErrorOutputPrefix: myErrorPrefix/year=2018/month=07/day=06/hour=23/processing-failed

Prefix: myFirehosePrefix/

ErrorOutputPrefix: 지정 안 함

Prefix: myFirehosePrefix/2018/08/27/

ErrorOutputPrefix: myFirehosePrefix/processing-failed/2018/08/27/

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.