PutDynamoDB 프로세서
PutDynamoDB 프로세서
PutDynamoDB는 해시 키와 범위 키를 기준으로 DynamoDB 항목을 저장하는 OpenFlow 프로세서예요.
출처: Snowflake 문서
본문
이 프로세서는 일반 사용 가능(Generally Available) 상태예요. OpenFlow Snowflake 배포는 AWS, Azure, GCP 상용(Commercial) 리전의 모든 계정에서 사용할 수 있고, OpenFlow BYOC 배포는 AWS 상용 리전의 모든 계정에서 사용할 수 있어요.
Bundle org.apache.nifi | nifi-aws-nar
설명
해시 키와 범위 키를 기준으로 DynamoDB의 문서를 저장해요. 테이블은 해시+범위 키 또는 해시 키만 가질 수 있어요. 현재 지원하는 키 타입은 string과 number이고, 값은 JSON 문서일 수 있어요. 해시 키와 범위 키를 모두 쓰는 경우 연산에 두 키가 모두 필요해요. FlowFile 내용은 JSON이어야 하고, DynamoDB 항목의 지정된 Json Document 속성에 매핑돼요.
Tags AWS, Amazon, DynamoDB, Insert, Put
입력 요구 사항 필수(REQUIRED)
민감 동적 속성 지원 아니요(false)
속성 (Properties)
| 속성 | 설명 |
|---|---|
| AWS Credentials Provider service | AWS 자격 증명 공급자를 얻기 위해 사용하는 Controller Service예요. |
| Batch items for each request (between 1 and 50) | 한 배치에서 처리할 항목 수(1~50)예요. |
| Character set of document | 문서 데이터의 문자 집합이에요. |
| Communications Timeout | AWS와 통신할 때의 타임아웃이에요. |
| Endpoint Override URL | scheme, host, port, path를 포함해 AWS 기본값 대신 사용할 Endpoint URL이에요. AWS 라이브러리는 AWS 리전을 기준으로 endpoint URL을 선택하지만, 이 속성은 선택된 endpoint URL을 덮어써서 다른 S3 호환 endpoint와 함께 사용할 수 있게 해줘요. |
| Hash Key Name | 항목의 해시 키 이름이에요. |
| Hash Key Value | 항목의 해시 키 값이에요. |
| Hash Key Value Type | 항목의 해시 키 값 타입이에요. |
| Json Document attribute | DynamoDB 항목에서 가져올 JSON 문서(스키마의 's' 타입)예요. |
| Range Key Name | 항목의 범위 키 이름이에요. |
| Range Key Value | 항목의 범위 키 값이에요. |
| Range Key Value Type | 항목의 범위 키 값 타입이에요. |
| Region | 연결할 AWS 리전이에요. |
| SSL Context Service | 제공되면 연결을 만드는 데 사용되는 선택적 SSL Context Service를 지정해요. |
| 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.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 예외 메시지예요. |