Openflow Connector for Salesforce Bulk API: 문제 해결하기¶
참고
이 커넥터에는 `Snowflake Connector 약관<https://www.snowflake.com/legal/snowflake-connector-terms/>`_이 적용됩니다.
이 항목에서는 Openflow Connector for Salesforce Bulk API 문제를 해결하는 방법에 대해 설명합니다.
모니터링¶
Salesforce에서 Snowflake로 동기화되는 데이터의 양을 추적하려면 이벤트 테이블을 쿼리합니다. 다음 쿼리 예제에서는 지난 30분 동안의 관련 로그를 검색합니다.
SELECT
timestamp,
Deployment_ID,
Runtime_Key,
parsed_log:level as log_level,
parsed_log:loggerName as logger,
parsed_log:formattedMessage as message,
parsed_log
FROM (
SELECT
timestamp,
resource_attributes:"openflow.dataplane.id" as Deployment_ID,
resource_attributes:"k8s.namespace.name" as Runtime_Key,
TRY_PARSE_JSON(value) as parsed_log
FROM OPENFLOW.TELEMETRY.EVENTS
WHERE true
AND timestamp > dateadd('minutes', -30, sysdate())
AND record_type = 'LOG'
AND resource_attributes:"k8s.namespace.name" like 'runtime-%'
ORDER BY timestamp DESC
)
WHERE true
AND logger = 'org.apache.nifi.processors.standard.LogMessage'
AND message LIKE '%SALESFORCE_BULK_API%';
문제 해결하기¶
커넥터 관련 문제를 해결하려면 다음 정보를 사용합니다.
커넥터 상태 확인¶
커넥터 상태를 검사하여 데이터가 예상대로 복제되고 있는지 확인할 수 있습니다. 커넥터는 Salesforce 변경 사항이 누락되지 않도록 하고 실패가 발생하는 경우 대량 작업 쿼리를 다시 시도하기 위해 현재 및 과거 작업의 상태를 유지합니다.
상태를 확인하려면 다음을 수행합니다.
캔버스를 마우스 오른쪽 버튼으로 클릭하고 :ui:`Controller services`를 선택합니다.
이름이 :ui:`Salesforce Bulk Jobs State`인 컨트롤러 서비스를 찾습니다.
Salesforce Bulk Jobs State 메뉴에서 View state 를 클릭합니다.
상태는 키가 Salesforce 오브젝트 유형인 키/값 페어 세트입니다. 예를 들어, Account 오브젝트의 상태는 다음 예제와 같을 수 있습니다.
{"previousLast":"2025-09-30T09:41:23.484406926Z","currentLast":"2025-09-30T09:41:23.484406926Z","status":"COMPLETED"}
``status``는 다음 중 하나일 수 있습니다.
IN_PROGRESSCOMPLETEDFAILEDABORTED
상태가 ``IN_PROGRESS``인 경우 해당 오브젝트 유형에 대해 FlowFile을 계속 처리 중인 것입니다.
조심
흐름 파일을 수동으로 삭제하지 마세요. 이로 인해 상태를 수동으로 업데이트할 수 없으므로 작업이 IN_PROGRESS 상태로 무기한 유지될 수 있습니다.
이 경우 해당 오브젝트 유형에 대해 전체 다시 로드를 수행해야 합니다.
주어진 오브젝트 유형에 대해 전체 로드 강제 적용¶
커넥터가 하나 이상의 오브젝트 유형에 대해 전체 새로 고침을 강제 적용하도록 하려면 다음을 수행합니다.
흐름의 모든 프로세서를 중지합니다.
진행 중인 FlowFiles가 처리 중이 아닌지 확인합니다.
캔버스를 마우스 오른쪽 버튼으로 클릭하고 :ui:`Disable all controller services`를 선택합니다.
Controller services`로 이동하여 :ui:`Salesforce Bulk Jobs State 컨트롤러 서비스의 상태를 엽니다.
다음 작업 중 하나를 수행합니다.
:ui:`Clear state`를 선택하여 전체 상태를 지웁니다. 이를 통해 커넥터가 가져온 구성된 모든 오브젝트 유형에 대해 전체 로드가 강제 적용됩니다.
특정 오브젝트 유형 옆에 있는 휴지통 아이콘을 선택하여 특정 오브젝트 유형의 상태만 지웁니다. 이를 통해 다음 커넥터 실행 중에 해당 특정 오브젝트 유형이 강제로 전체 로드됩니다.
캔버스에서 마우스 오른쪽 버튼을 클릭하고 :ui:`Enable all controller services`를 선택한 다음 모든 프로세서를 시작합니다.
오브젝트 유형이 IN_PROGRESS 상태로 유지되는 경우¶
주어진 오브젝트 유형의 상태가 ``IN_PROGRESS``로 유지되고 해당 오브젝트 유형에 대해 진행 중인 FlowFiles가 없는 경우 상태를 업데이트하기 전에 FlowFile가 수동으로 삭제되었을 수 있습니다.
이 경우 커넥터가 모든 이벤트를 캡처하도록 해당 오브젝트 유형에 대해 전체 로드를 수행해야 합니다.
상태가 ``IN_PROGRESS``로 유지되지만 FlowFiles가 수동으로 삭제된 경우 `Snowflake 지원`_에 문의하세요.