ListAzureBlobStorage_v12 프로세서

ListAzureBlobStorage_v12 프로세서

Openflow의 ListAzureBlobStorage_v12 프로세서는 Azure Blob Storage 컨테이너의 blob을 나열하는 프로세서예요. 나열 정보는 FetchAzureBlobStorage와 함께 사용하기 위해 빈 FlowFile에 첨부됩니다.

출처: Snowflake 문서

본문

기능 — 일반 공급 (Generally Available)

Openflow Snowflake 배포는 AWS, Azure, GCP 상용(Commercial) 리전의 모든 계정에서 사용할 수 있어요. Openflow BYOC 배포는 AWS 상용 리전의 모든 계정에서 사용할 수 있습니다.

Bundle

org.apache.nifi | nifi-azure-nar

설명

Azure Blob Storage 컨테이너의 blob을 나열합니다. 나열 정보는 FetchAzureBlobStorage와 함께 사용하기 위해 빈 FlowFile에 첨부됩니다. 이 프로세서는 클러스터에서 프라이머리 노드에서만 실행되도록 설계되었습니다. 프라이머리 노드가 변경되면 새 프라이머리 노드가 모든 데이터를 중복하지 않고 이전 노드가 중단한 지점부터 이어받습니다. 프로세서는 Azure Blob Storage 클라이언트 라이브러리 v12를 사용합니다.

태그

azure, blob, cloud, microsoft, storage

입력 요구사항

금지 (FORBIDDEN)

민감한 동적 속성 지원

false

속성

이름 설명
Blob Name Prefix 나열을 위한 검색 접두사입니다.
Container Name Azure 스토리지 컨테이너 이름입니다. PutAzureBlobStorage 프로세서의 경우 컨테이너가 존재하지 않으면 생성될 수 있습니다.
Entity Tracking Initial Listing Target 초기 나열을 처리할 방법을 지정합니다. 'Tracking Entities' 전략에서 사용됩니다.
Entity Tracking State Cache 나열된 엔터티가 지정된 캐시 저장소에 저장되어 NiFi 재시작이나 프라이머리 노드 변경 시에도 이 프로세서가 나열을 재개할 수 있게 합니다. 'Tracking Entities' 전략은 마지막 'Tracking Time Window' 내의 모든 나열된 엔터티의 추적 정보를 요구합니다. 많은 수의 엔터티를 지원하기 위해 이 전략은 관리 상태 대신 DistributedMapCache를 사용합니다. 캐시 키 형식은 'ListedEntities::{processorId}(::{nodeId})'입니다. 노드별 나열 엔터티를 추적하는 경우 상태를 별도로 관리하기 위해 선택적 '::{nodeId}' 부분이 추가됩니다. 예: 클러스터 전체 캐시 키 ='ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b', 노드별 캐시 키 ='ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b::nifi-node3'. 저장된 캐시 콘텐츠는 Gzip된 JSON 문자열입니다. 대상 나열 구성이 변경되면 캐시 키가 삭제됩니다. 'Tracking Entities' 전략에서 사용됩니다.
Entity Tracking Time Window 이 프로세서가 이미 나열된 엔터티를 추적해야 하는 기간을 지정합니다. 'Tracking Entities' 전략은 지정된 시간 창 안의 타임스탬프를 가진 모든 엔터티를 선택할 수 있습니다. 예를 들어 '30 minutes'로 설정하면 이 프로세서가 실행될 때 최근 30분 내의 타임스탬프를 가진 엔터티가 나열 대상이 됩니다. 다음 조건 중 하나를 충족하면 나열된 엔터티가 '새로움/업데이트됨'으로 간주되어 FlowFile이 내보내집니다: 1. 이미 나열된 엔터티에 존재하지 않음, 2. 캐시된 엔터티보다 최신 타임스탬프를 가짐, 3. 캐시된 엔터티와 크기가 다름. 캐시된 엔터티의 타임스탬프가 지정된 시간 창보다 오래되면 그 엔터티는 캐시된 이미 나열된 엔터티에서 제거됩니다. 'Tracking Entities' 전략에서 사용됩니다.
Listing Strategy 새로운/업데이트된 엔터티를 결정하는 방법을 지정합니다. 각 전략 설명을 참조하세요.
Maximum File Age 가져오기 위해 파일이 가져야 하는 최대 기간입니다. 이 시간보다 오래된 파일(마지막 수정 날짜 기준)은 무시됩니다.
Maximum File Size 가져오기 위해 파일이 가질 수 있는 최대 크기입니다.
Minimum File Age 가져오기 위해 파일이 가져야 하는 최소 기간입니다. 이 시간보다 최신 파일(마지막 수정 날짜 기준)은 무시됩니다.
Minimum File Size 가져오기 위해 파일이 가져야 하는 최소 크기입니다.
Record Writer 나열을 만드는 데 사용할 Record Writer를 지정합니다. 지정하지 않으면 나열된 각 엔터티에 대해 하나의 FlowFile이 생성됩니다. Record Writer를 지정하면 모든 엔터티가 개별 FlowFile에 속성을 추가하는 대신 단일 FlowFile로 기록됩니다.
Storage Credentials Azure Blob Storage 자격 증명을 얻는 데 사용하는 컨트롤러 서비스입니다.
proxy-configuration-service 네트워크 요청을 프록시할 Proxy Configuration 컨트롤러 서비스를 지정합니다. SOCKS의 경우 프로세서가 선택한 SOCKS 버전을 사용한다는 보장은 없습니다.

상태 관리

이름 설명
CLUSTER blob 나열을 수행한 후 'Tracking Timestamps' Listing Strategy(기본값)가 사용 중이면 가장 최신 blob의 타임스탬프가 저장됩니다. 이를 통해 프로세서는 다음 실행 시 이 날짜 이후에 추가되거나 수정된 blob만 나열할 수 있습니다. 상태는 클러스터 전체에 저장되어 프라이머리 노드에서만 실행할 수 있고, 새 프라이머리 노드가 선택되면 데이터를 중복하지 않고 이전 노드가 중단한 지점부터 이어받을 수 있습니다.

관계

이름 설명
success 수신된 모든 FlowFile은 success로 라우팅됩니다.

쓰기 속성

이름 설명
azure.container Azure Blob Storage 컨테이너의 이름입니다.
azure.blobname Azure Blob Storage의 blob 이름입니다.
azure.primaryUri blob의 기본 위치입니다.
azure.etag blob의 ETag입니다.
azure.blobtype blob의 유형입니다(BlockBlob, PageBlob 또는 AppendBlob).
mime.type 콘텐츠의 MIME 타입입니다.
lang 콘텐츠의 언어 코드입니다.
azure.timestamp blob의 타임스탬프입니다.
azure.length blob의 길이입니다.

참고 항목

  • org.apache.nifi.processors.azure.storage.CopyAzureBlobStorage_v12
  • org.apache.nifi.processors.azure.storage.DeleteAzureBlobStorage_v12
  • org.apache.nifi.processors.azure.storage.FetchAzureBlobStorage_v12
  • org.apache.nifi.processors.azure.storage.PutAzureBlobStorage_v12

더 알아보기 (Learn more)