Amazon Data Firehose에서 소스 데이터 변환 - Amazon Data Firehose

Amazon Data Firehose에서 소스 데이터 변환

Amazon Data Firehose는 Lambda 함수를 호출해 수신되는 소스 데이터를 변환하고, 변환된 데이터를 대상으로 전송할 수 있습니다. Firehose 스트림을 생성할 때 Amazon Data Firehose 데이터 변환을 활성화할 수 있습니다.

데이터 변환 흐름 이해

Firehose 데이터 변환을 활성화하면 Firehose는 수신 데이터를 버퍼링합니다. 버퍼링 사이즈 힌트 범위는 0.2MB~3MB입니다. 기본 Lambda 버퍼링 크기 힌트는 Splunk 및 Snowflake를 제외한 모든 대상에 대해 1MB입니다. Splunk 및 Snowflake의 경우 기본 버퍼링 힌트는 256KB입니다. Lambda 버퍼링 간격 힌트 범위는 0~900초입니다. 기본 Lambda 버퍼링 간격 힌트는 Snowflake를 제외한 모든 대상에 대해 60초입니다. Snowflake의 경우 기본 버퍼링 힌트 간격은 30초입니다. 버퍼링 크기를 조정하려면 CreateDeliveryStream 또는 UpdateDestination API의 ProcessingConfiguration 파라미터를 BufferSizeInMBsIntervalInSeconds라는 ProcessorParameter로 설정합니다. 그러면 Firehose는 AWS Lambda 동기식 간접 호출 모드를 사용하여 버퍼링된 각 배치와 함께 지정된 Lambda 함수를 동기식으로 호출합니다. 변환된 데이터는 Lambda로부터 Firehose로 전송됩니다. 이후 지정된 대상 버퍼링 크기 또는 버퍼링 간격 중 먼저 발생하는 값에 도달하면, Firehose가 이를 대상으로 전송합니다.

중요

Lambda 동기식 호출 모드는 요청 및 응답 모두 페이로드 크기 제한이 6MB입니다. 함수로 요청을 전송하기 위한 버퍼링 크기가 6MB 이하인지 확인해야 합니다. 또한 함수에서 반환하는 응답이 6MB를 초과하지 않는지 확인합니다.

Lambda 간접 호출 기간

Amazon Data Firehose는 Lambda 호출 시간을 최대 5분까지 지원합니다. Lambda 함수가 완료되는 데 5분 이상 걸리면 다음 오류가 발생합니다: AWS Lambda 호출 중 Firehose에 시간 초과 오류 발생. 지원되는 함수 제한 시간은 최대 5분입니다.

이러한 오류가 발생하는 경우 Amazon Data Firehose의 작동에 대한 자세한 내용은 데이터 변환 실패 처리 섹션을 참조하세요.