PutDynamoDBRecord 프로세서
PutDynamoDBRecord 프로세서
PutDynamoDBRecord는 레코드 기반 데이터를 DynamoDB에 삽입하는 레코드 인지 프로세서예요.
출처: Snowflake 문서
본문
이 프로세서는 일반 사용 가능(Generally Available) 상태예요. OpenFlow Snowflake 배포는 AWS, Azure, GCP 상용(Commercial) 리전의 모든 계정에서 사용할 수 있고, OpenFlow BYOC 배포는 AWS 상용 리전의 모든 계정에서 사용할 수 있어요.
Bundle org.apache.nifi | nifi-aws-nar
설명
레코드 지향 데이터를 기반으로 DynamoDB에 항목을 삽입해요. 레코드 필드는 파티션 키와 정렬 키를 포함해 DynamoDB 항목 필드에 매핑돼요. 레코드 수에 따라 프로세서는 DynamoDB의 배치 쓰기 제한을 극복하기 위해 삽입을 여러 청크로 나눠 실행할 수 있어요. 이 경우 일부만 처리된 FlowFile이 'unprocessed' 관계로 전송되고, 이미 실행된 삽입을 중복하지 않고 나중에 재시도할 수 있게 필요한 속성이 함께 붙어요.
Tags AWS, Amazon, DynamoDB, Insert, Put, Record
입력 요구 사항 필수(REQUIRED)
민감 동적 속성 지원 아니요(false)
속성 (Properties)
| 속성 | 설명 |
|---|---|
| AWS Credentials Provider service | AWS 자격 증명 공급자를 얻기 위해 사용하는 Controller Service예요. |
| Communications Timeout | AWS와 통신할 때의 타임아웃이에요. |
| Endpoint Override URL | scheme, host, port, path를 포함해 AWS 기본값 대신 사용할 Endpoint URL이에요. AWS 라이브러리는 AWS 리전을 기준으로 endpoint URL을 선택하지만, 이 속성은 선택된 endpoint URL을 덮어써서 다른 S3 호환 endpoint와 함께 사용할 수 있게 해줘요. |
| Partition Key Attribute | 'Partition by attribute' 파티션 키 전략을 쓸 때 파티션 키 값으로 사용할 FlowFile 속성을 지정해요. |
| Partition Key Field | DynamoDB 테이블에서 파티션 키 필드의 이름을 정의해요. 파티션 키는 해시 키라고도 불러요. 'Partition Key Strategy'에 따라 필드 값은 들어오는 레코드에서 오거나 생성된 값일 수 있어요. |
| Partition Key Strategy | 프로세서가 삽입되는 항목에 파티션 키 값을 할당하는 전략을 정의해요. |
| Record Reader | 들어오는 데이터를 파싱하고 데이터의 스키마를 결정하는 데 사용할 Controller Service를 지정해요. |
| Region | 연결할 AWS 리전이에요. |
| SSL Context Service | 제공되면 연결을 만드는 데 사용되는 선택적 SSL Context Service를 지정해요. |
| Sort Key Field | DynamoDB 테이블에서 정렬 키 필드의 이름을 정의해요. 정렬 키는 범위 키라고도 불러요. |
| Sort Key Strategy | 프로세서가 삽입되는 항목에 정렬 키를 할당하는 전략을 정의해요. |
| Table Name | DynamoDB 테이블 이름이에요. |
| proxy-configuration-service | 네트워크 요청을 프록시할 Proxy Configuration Controller Service를 지정해요. |
관계 (Relationships)
| 이름 | 설명 |
|---|---|
| failure | FlowFile이 failure 관계로 라우팅돼요. |
| success | FlowFile이 success 관계로 라우팅돼요. |
| unprocessed | DynamoDB가 요청의 모든 항목을 처리하지 못할 때 FlowFile이 unprocessed 관계로 라우팅돼요. 대표적인 이유는 테이블 처리 용량 부족과 요청당 최대 바이트 초과예요. unprocessed FlowFile은 새 요청으로 재시도할 수 있어요. |
기록되는 속성 (Writes attributes)
| 속성 | 설명 |
|---|---|
| dynamodb.chunks.processed | DynamoDB에 성공적으로 삽입된 청크 개수예요. 설정되지 않으면 0으로 간주해요. |
| dynamodb.key.error.unprocessed | DynamoDB가 처리하지 못한 키들이에요. |
| dynmodb.range.key.value.error | DynamoDB 범위 키 오류예요. |
| dynamodb.key.error.not.found | DynamoDB 키를 찾지 못했어요. |
| dynamodb.error.exception.message | DynamoDB 예외 메시지예요. |
| dynamodb.error.code | DynamoDB 오류 코드예요. |
| dynamodb.error.message | DynamoDB 오류 메시지예요. |
| dynamodb.error.service | DynamoDB 오류 서비스예요. |
| dynamodb.error.retryable | DynamoDB 오류가 재시도 가능한지 여부예요. |
| dynamodb.error.request.id | DynamoDB 오류 요청 ID예요. |
| dynamodb.error.status.code | DynamoDB 오류 상태 코드예요. |
| dynamodb.item.io.error | 항목 생성 중 발생한 IO 예외 메시지예요. |