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