Salesforce에서 읽기
사전 조건
읽으려는 Salesforce sObject. Account
Case
또는 Opportunity
와 같은 객체 이름이 필요합니다.
예시:
salesforce_read = glueContext.create_dynamic_frame.from_options( connection_type="salesforce", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "Account", "API_VERSION": "v60.0" }
쿼리 파티셔닝
Spark에서 동시성을 활용하려는 경우 추가 Spark 옵션(PARTITION_FIELD
, LOWER_BOUND
, UPPER_BOUND
, NUM_PARTITIONS
)을 제공할 수 있습니다. 이러한 파라미터를 사용하면 Spark 작업에서 동시에 실행할 수 있는 NUM_PARTITIONS
개의 하위 쿼리로 원래 쿼리가 분할됩니다.
PARTITION_FIELD
: 쿼리 분할에 사용할 필드의 이름입니다.LOWER_BOUND
: 선택한 파티션 필드의 하한 값(경계 포함).날짜 또는 타임스탬프 필드의 경우 커넥터는 Spark SQL 쿼리에 사용된 Spark 타임스탬프 형식을 허용합니다.
유효한 값의 예제:
"TIMESTAMP \"1707256978123\"" "TIMESTAMP '2018-01-01 00:00:00.000 UTC'" "TIMESTAMP \"2018-01-01 00:00:00 Pacific/Tahiti\"" "TIMESTAMP \"2018-01-01 00:00:00\"" "TIMESTAMP \"-123456789\" Pacific/Tahiti" "TIMESTAMP \"1702600882\""
UPPER_BOUND
: 선택한 파티션 필드의 상한 값(경계 제외).NUM_PARTITIONS
: 파티션 수.-
TRANSFER_MODE
:SYNC
와ASYNC
의 두 가지 모드를 지원합니다. 기본값은SYNC
입니다.ASYNC
로 설정하면 Bulk API 2.0 Query가 처리에 활용됩니다.
예시:
salesforce_read = glueContext.create_dynamic_frame.from_options( connection_type="salesforce", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "Account", "API_VERSION": "v60.0", "PARTITION_FIELD": "SystemModstamp", "LOWER_BOUND": "TIMESTAMP '2021-01-01 00:00:00 Pacific/Tahiti'", "UPPER_BOUND": "TIMESTAMP '2023-01-10 00:00:00 Pacific/Tahiti'", "NUM_PARTITIONS": "10", "TRANSFER_MODE": "ASYNC" }