Salesforce Marketing Cloud 엔터티에서 읽기
사전 조건
읽으려는 Salesforce Marketing Cloud 객체. 객체 이름(예: Activity 또는 Campaigns)이 필요합니다. 다음 표에는 지원되는 엔터티가 나와 있습니다.
소스에 대해 지원되는 엔터티:
| 개체 | 인터페이스 | 필터링 가능 | 제한 지원 | 정렬 기준 지원 | SELECT * 지원 | 분할 지원 |
|---|---|---|---|---|---|---|
| 이벤트 알림 콜백 | REST | 아니요 | 아니요 | 아니요 | 예 | 아니요 |
| 시드-목록 | REST | 아니요 | 예 | 아니요 | 예 | 아니요 |
| 설정 | REST | 예 | 예 | 아니요 | 예 | 아니요 |
| 도메인 확인 | REST | 예 | 예 | 예 | 예 | 아니요 |
| 객체 중첩된 태그 | REST | 예 | 아니요 | 아니요 | 예 | 아니요 |
| Contact | REST | 아니요 | 예 | 아니요 | 예 | 아니요 |
| 이벤트 알림 구독 | REST | 아니요 | 아니요 | 아니요 | 예 | 아니요 |
| 메시지 전송 | REST | 아니요 | 예 | 아니요 | 예 | 아니요 |
| 활동 | SOAP | 아니요 | 아니요 | 아니요 | 예 | 예 |
| 반송 이벤트 | SOAP | 아니요 | 아니요 | 아니요 | 예 | 예 |
| 클릭 이벤트 | SOAP | 아니요 | 아니요 | 아니요 | 예 | 예 |
| 콘텐츠 영역 | SOAP | 아니요 | 아니요 | 아니요 | 예 | 예 |
| 데이터 확장 | SOAP | 아니요 | 예 | 아니요 | 예 | 예 |
| 이메일 | SOAP | 아니요 | 예 | 아니요 | 예 | 예 |
| 전달된 이메일 이벤트 | SOAP | 아니요 | 예 | 아니요 | 예 | 예 |
| 이메일 OptInEvent 전달 | SOAP | 아니요 | 예 | 아니요 | 예 | 예 |
| 링크 | SOAP | 아니요 | 예 | 아니요 | 예 | 예 |
| 링크 전송 | SOAP | 아니요 | 예 | 아니요 | 예 | 예 |
| 나열 | SOAP | 아니요 | 예 | 아니요 | 예 | 예 |
| 구독자 나열 | SOAP | 아니요 | 예 | 아니요 | 예 | 예 |
| 전송되지 않은 이벤트 | SOAP | 아니요 | 예 | 아니요 | 예 | 예 |
| 열린 이벤트 | SOAP | 아니요 | 예 | 아니요 | 예 | 예 |
| Send | SOAP | 아니요 | 예 | 아니요 | 예 | 예 |
| 전송된 이벤트 | SOAP | 아니요 | 예 | 아니요 | 예 | 예 |
| 구독자 | SOAP | 아니요 | 예 | 아니요 | 예 | 예 |
| 설문조사 이벤트 | SOAP | 아니요 | 예 | 아니요 | 예 | 예 |
| 구독 해지 이벤트 | SOAP | 아니요 | 예 | 아니요 | 예 | 예 |
| 감사 이벤트 | REST | 아니요 | 예 | 예 | 예 | 아니요 |
| Campaigns | REST | 아니요 | 예 | 예 | 예 | 아니요 |
| 상호작용 | REST | 아니요 | 예 | 예 | 예 | 아니요 |
| 콘텐츠 자산 | REST | 아니요 | 예 | 예 | 예 | 아니요 |
REST에 대한 예제:
salesforcemarketingcloud_read = glueContext.create_dynamic_frame.from_options( connection_type="salesforcemarketingcloud", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "Campaigns", "API_VERSION": "v1", "INSTANCE_URL": "https://**********************.rest.marketingcloudapis.com" } )
SOAP에 대한 예제:
salesforcemarketingcloud_read = glueContext.create_dynamic_frame.from_options( connection_type="salesforcemarketingcloud", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "Activity", "API_VERSION": "v1", "INSTANCE_URL": "https://**********************.soap.marketingcloudapis.com" } )
Salesforce Marketing Cloud 엔터티 및 필드 세부 정보:
다음 표에서는 Salesforce Marketing Cloud 엔터티를 설명합니다. 정적 메타데이터를 포함하는 REST 엔터티와 동적 메타데이터를 포함하는 SOAP 엔터티가 있습니다.
정적 메타데이터를 포함하는 REST 엔터티:
| 개체 | 필드 | 데이터 유형 | 지원되는 연산자 |
|---|---|---|---|
| 이벤트 알림 콜백 | callbackId | String | |
| callbackName | String | ||
| url | String | ||
| maxBatchSize | Integer | ||
| status | String | ||
| statusReason | String | ||
| 시드-목록 | id | String | |
| name | String | ||
| 설명 | String | ||
| activeSeedCount | Integer | ||
| 설정 | customerKey | String | |
| name | String | ||
| 설명 | String | ||
| locationType | String | '=' | |
| awsFileTransferLocation | Struct | ||
| 도메인 확인 | enterpriseId | Integer | |
| status | String | '=' | |
| domainType | String | '=' | |
| memberId | Integer | ||
| emailSendTime | DateTime | ||
| 도메인 | String | ||
| isSendable | 불 | ||
| 객체 중첩된 태그 | id | Integer | |
| modifiedDate | DateTime | ||
| tags | 나열 | ||
| name | String | ||
| 설명 | String | ||
| parentId | Integer | ||
| Contact | values | 나열 | |
| 이벤트 알림 구독 | subscriptionName | String | |
| callbackId | String | ||
| callbackName | String | ||
| eventCategoryTypes | 나열 | ||
| filters | 나열 | ||
| url | String | ||
| maxBatchSize | Integer | ||
| subscriptionId | String | ||
| status | String | ||
| statusReason | String | ||
| 메시지 전송 | deliveryTime | DateTime | |
| id | String | ||
| messageId | String | ||
| status | String | ||
| 아래로 변경합니다. | Struct | ||
| 상호작용 | status | String | '=' |
| id | String | ||
| 키 | String | ||
| name | String | ||
| lastPublishedDate | DateTime | ||
| 설명 | String | ||
| version | Integer | ||
| workflowApiVersion | Integer | ||
| createdDate | DateTime | ||
| modifiedDate | DateTime | ||
| goals | Struct | ||
| stats | Struct | ||
| entryMode | String | ||
| defaults | Struct | ||
| executionMode | Struct | ||
| definitionId | String | ||
| 콘텐츠 자산 | id | Integer | |
| customerKey | String | ||
| objectId | String | ||
| contentType | String | ||
| assetType | Struct | ||
| name | String | ||
| 설명 | String | ||
| owner | Struct | ||
| createdDate | DateTime | ||
| createdBy | Struct | ||
| modifiedDate | DateTime | ||
| modifiedBy | Struct | ||
| thumbnail | Struct | ||
| category | Struct | ||
| meta | Struct | ||
| 뷰 | Struct | ||
| availableViews | Struct | ||
| data | Struct | ||
| legacyData | Struct | ||
| modelVersion | Integer | ||
| 버전 | Integer | ||
| Locked | 불 | ||
| FileProperties | Struct | ||
| Tags | 나열 | ||
| 내용 | String | ||
| 설계 | String | ||
| SuperContent | String | ||
| CustomFields | Struct | ||
| 블록 | Struct | ||
| MinBlocks | Integer | ||
| MaxBlocks | Integer | ||
| 채널 | Struct | ||
| AllowedBlocks | 나열 | ||
| 슬롯 | Struct | ||
| BusinessUnitAvailability | Struct | ||
| sharingProperties | Struct | ||
| sharingProperties.sharedWith | Struct | ||
| sharingProperties.sharingType | String | ||
| 템플릿 | Struct | ||
| 파일 | String | ||
| GenerateFrom | String | ||
| 감사 이벤트 | id | Integer | |
| createdDate | DateTime | ||
| memberId | Integer | ||
| enterpriseId | Integer | ||
| employee | Struct | ||
| objectType | Struct | ||
| 작업 | Struct | ||
| 객체 | Struct | ||
| transactionId | String | ||
| Campaigns | id | Integer | |
| createdDate | DateTime | ||
| modifiedDate | DateTime | ||
| name | String | ||
| 설명 | String | ||
| campaignCode | String | ||
| color | String | ||
| favorite | 불 |
동적 메타데이터를 포함하는 SOAP 엔터티:
| 개체 | 데이터 유형 | 지원되는 연산자 |
|---|---|---|
| 활동 | String | LIKE,!=,= |
| Struct | ||
| Integer | !=,=,>=,<=,<,> | |
| 배정밀도 실수 | !=,=,>=,<=,<,> | |
| 불 | !=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| 반송 이벤트 | Integer | !=,=,>=,<=,<,> |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| String | LIKE,!=,= | |
| Struct | ||
| 클릭 이벤트 | Integer | !=,=,>=,<=,<,> |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| String | LIKE,!=,= | |
| Struct | ||
| 콘텐츠 영역 | Struct | |
| String | LIKE,!=,= | |
| Integer | !=,=,>=,<=,<,> | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| 불 | !=,= | |
| 데이터 확장 | DateTime | >=,<=,<,>,=,BETWEEN |
| String | LIKE,!=,= | |
| 이메일 | Integer | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| 불 | !=,= | |
| Struct | ||
| 전달된 이메일 이벤트 | Integer | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| 전달된 이메일 OptInEvent | Integer | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| 링크 | Integer | !=,=,>=,<=,<,> |
| 링크 전송 | Integer | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| 배정밀도 실수 | !=,=,>=,<=,<,> | |
| 나열 | Integer | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| 구독자 나열 | Integer | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| 전송되지 않은 이벤트 | Integer | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| 열린 이벤트 | Integer | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| Send | Integer | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| 불 | !=,= | |
| Struct | ||
| 전송된 이벤트 | Integer | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| 구독자 | Integer | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| 설문조사 이벤트 | Integer | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| 구독 해지 이벤트 | Integer | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| 불 | !=,= | |
| Struct |
분할 쿼리
Salesforce Marketing Cloud에서 정수 및 DateTime 데이터 유형 필드는 필드 기반 분할을 지원합니다.
Spark에서 동시성을 활용하려는 경우 추가 Spark 옵션(PARTITION_FIELD, LOWER_BOUND, UPPER_BOUND, NUM_PARTITIONS)을 제공할 수 있습니다. 이러한 파라미터를 사용하면 Spark 작업에서 동시에 실행할 수 있는 NUM_PARTITIONS개의 하위 쿼리로 원래 쿼리가 분할됩니다.
PARTITION_FIELD: 쿼리 분할에 사용할 필드의 이름입니다.LOWER_BOUND: 선택한 파티션 필드의 하한 값(경계 포함).타임스탬프 필드의 경우 Spark SQL 쿼리에 사용된 Spark 타임스탬프 형식을 허용합니다.
유효한 값의 예제:
“2024-05-07T02:03:00.00Z"UPPER_BOUND: 선택한 파티션 필드의 상한 값(경계 제외).NUM_PARTITIONS: 파티션 수.
예시:
salesforcemarketingcloud_read = glueContext.create_dynamic_frame.from_options( connection_type="salesforcemarketingcloud", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "ListSubscriber", "API_VERSION": "v1", "PARTITION_FIELD": "CreatedDate", "LOWER_BOUND": "2023-09-07T02:03:00.000Z", "UPPER_BOUND": "2024-05-07T02:03:00.000Z", "NUM_PARTITIONS": "10" } )