QuerySalesforceObject

QuerySalesforceObject

Salesforce sObject에서 레코드를 가져오는 OpenFlow 프로세서예요. 사용자 정의 필터 조건을 추가하거나 사용자 정의 쿼리를 실행할 수 있고, 특정 필드를 기준으로 증분 검색도 지원해요.

출처: Snowflake 문서

본문

번들 (Bundle)

org.apache.nifi | nifi-salesforce-nar

설명 (Description)

Salesforce sObject에서 레코드를 가져옵니다. 'Custom WHERE Condition' 속성을 설정하여 임의의 필터 조건을 추가할 수 있습니다. 프로세서는 사용자 정의 쿼리를 실행할 수도 있지만, 그 경우 레코드 처리는 지원되지 않습니다. 증분 검색을 지원합니다. 'Age Field' 속성에 레코드가 생성된 시점을 결정하는 데 사용할 필드를 정의할 수 있습니다. 이 속성이 설정되면 프로세서는 새 레코드를 가져옵니다. 증분 적재와 레코드 기반 처리는 속성 기반 쿼리에서만 지원됩니다. 연령(aae)의 초기 기준값(cutoff)을 정의하여 첫 실행에서도 더 오래된 모든 레코드를 걸러낼 수도 있습니다. 'Property Based Query'의 경우 이 프로세서는 Primary Node에서만 실행해야 합니다. FlowFile 속성 'record.count'는 검색되어 출력에 기록된 레코드 수를 나타냅니다. 프로세서는 선택적 입력 FlowFile을 받아 쿼리에서 FlowFile 속성을 참조할 수 있습니다. 'Include Deleted Records'가 true이면 프로세서는 'queryAll' API를 사용하여 삭제된 레코드(소프트 삭제)도 결과에 포함합니다. 삭제된 레코드를 쿼리할 때 'IsDeleted' 필드가 결과에 자동으로 포함됩니다.

태그 (Tags)

query, salesforce, sobject, soql

입력 요구사항 (Input Requirement)

ALLOWED

민감 동적 속성 지원 (Supports Sensitive Dynamic Properties)

false

속성 (Properties)

속성 (Property) 설명 (Description)
age-delay 시간 창의 종료 타임스탬프가 이 속성에 구성된 값만큼 더 일찍 조정됩니다. 예를 들어, 속성 값이 10초이면 종료 타임스탬프 12:30:45가 12:30:35로 변경됩니다.
age-field 제한된 시간 창을 사용해 레코드를 필터링하는 데 사용할 TIMESTAMP 필드의 이름입니다. 프로세서는 마지막 프로세서 실행 이후 기록된 타임스탬프보다 더 새로운 타임스탬프 값을 가진 레코드만 반환합니다.
create-zero-record-files Salesforce REST API가 레코드를 반환하지 않을 때 FlowFile을 만들지 여부를 지정합니다.
custom-soql-query 실행할 SOQL 쿼리를 지정합니다.
custom-where-condition 쿼리의 WHERE 절에 추가할 사용자 정의 표현식입니다.
field-names 쿼리할 sObject에서 요청하는 필드 이름의 쉼표로 구분된 목록입니다. 이 필드를 비워 두면 모든 필드가 쿼리됩니다.
include-deleted-records true면 프로세서는 쿼리 결과에 삭제된 레코드(IsDeleted = true)를 포함합니다. 활성화되면 프로세서는 'queryAll' API를 사용합니다.
initial-age-filter 이 속성은 프로세서가 첫 쿼리를 실행할 때 적용하는 시작 시간을 지정합니다.
oauth2-access-token-provider HTTP Authorization Header로 인증하기 위한 OAuth2 Access Token을 제공하는 서비스입니다.
query-type 파라미터로 쿼리를 제공할지 전체 사용자 정의 쿼리로 제공할지 선택합니다.
read-timeout Salesforce REST API에서 응답을 읽는 데 허용되는 최대 시간입니다.
record-writer Salesforce REST API에서 반환된 레코드를 쓰는 데 사용되는 서비스입니다.
salesforce-api-version services/data 경로 뒤에 URL에 추가되는 Salesforce REST API 버전 번호입니다. 지원되는 버전은 Salesforce 문서를 참조하세요.
salesforce-url 도메인을 포함하고 추가 경로 정보는 없는 Salesforce 인스턴스의 URL입니다(예: https://MyDomainName.my.salesforce.com).
sobject-name 쿼리할 Salesforce sObject입니다.

상태 관리 (State management)

범위 (Scopes) 설명 (Description)
CLUSTER 'Age Field'가 설정되면 쿼리 수행 후 실행 시점이 저장됩니다. 이후 쿼리는 추가 조건이 붙어, 저장된 실행 시점(선택적 'Age Delay' 값으로 조정됨)보다 더 새로운 레코드만 가져옵니다. 상태는 클러스터 전체에 저장되므로 이 Processor는 Primary Node에서만 실행할 수 있고, 새 Primary Node가 선택되면 이전 노드가 중단한 지점에서 이어받아 데이터를 중복하지 않습니다.

관계 (Relationships)

이름 (Name) 설명 (Description)
failure 쿼리가 실패하면 입력 flowfile이 이 관계로 보내집니다.
original 쿼리가 성공하면 입력 flowfile이 이 관계로 보내집니다.
success 성공한 쿼리의 결과로 만들어진 FlowFile용입니다.

쓰는 속성 (Writes attributes)

이름 (Name) 설명 (Description)
mime.type Record Writer가 지정한 MIME Type으로 mime.type 속성을 설정합니다.
record.count FlowFile의 레코드 수를 설정합니다.
total.record.count FlowFile의 총 레코드 수를 설정합니다.

함께 보기 (See also)

  • org.apache.nifi.processors.salesforce.PutSalesforceObject

더 알아보기 (Learn more)