Lesen aus Salesforce-Marketing-Cloud-Entitäten
Voraussetzung
Ein Salesforce-Marketing-Cloud-Objekt, aus dem gelesen werden soll. Sie benötigen den Objektnamen wie Activity oder Campaigns. Die folgende Tabelle zeigt die unterstützten Entitäten.
Unterstützte Entitäten für Quelle:
| Entität | Schnittstelle | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „* SELECT“ | Unterstützt Partitionierung |
|---|---|---|---|---|---|---|
| Ereignisbenachrichtigung-Callback | REST | Nein | Nein | Nein | Ja | Nein |
| Seed-Liste | REST | Nein | Ja | Nein | Ja | Nein |
| Aufstellen | REST | Ja | Ja | Nein | Ja | Nein |
| Domänenverifizierung | REST | Ja | Ja | Ja | Ja | Nein |
| Verschachtelte Objekt-Tags | REST | Ja | Nein | Nein | Ja | Nein |
| Kontakt | REST | Nein | Ja | Nein | Ja | Nein |
| Abonnement für Ereignisbenachrichtigung | REST | Nein | Nein | Nein | Ja | Nein |
| Messaging | REST | Nein | Ja | Nein | Ja | Nein |
| Aktivität | SOAP | Nein | Nein | Nein | Ja | Ja |
| Bounce-Ereignis | SOAP | Nein | Nein | Nein | Ja | Ja |
| Klickereignis | SOAP | Nein | Nein | Nein | Ja | Ja |
| Inhaltsbereich | SOAP | Nein | Nein | Nein | Ja | Ja |
| Datenerweiterung | SOAP | Nein | Ja | Nein | Ja | Ja |
| SOAP | Nein | Ja | Nein | Ja | Ja | |
| Ereignis Weitergeleitete E-Mail | SOAP | Nein | Ja | Nein | Ja | Ja |
| E-Mail weiterleiten: OptinEvent | SOAP | Nein | Ja | Nein | Ja | Ja |
| Link | SOAP | Nein | Ja | Nein | Ja | Ja |
| Link senden | SOAP | Nein | Ja | Nein | Ja | Ja |
| Auflisten | SOAP | Nein | Ja | Nein | Ja | Ja |
| Liste von Abonnenten | SOAP | Nein | Ja | Nein | Ja | Ja |
| Ereignis Nicht gesendet | SOAP | Nein | Ja | Nein | Ja | Ja |
| Ereignis Öffnen | SOAP | Nein | Ja | Nein | Ja | Ja |
| Senden | SOAP | Nein | Ja | Nein | Ja | Ja |
| Ereignis Gesendet | SOAP | Nein | Ja | Nein | Ja | Ja |
| Subscriber | SOAP | Nein | Ja | Nein | Ja | Ja |
| Ereignis Umfrage | SOAP | Nein | Ja | Nein | Ja | Ja |
| Ereignis Abonnement beenden | SOAP | Nein | Ja | Nein | Ja | Ja |
| Prüfungsereignisse | REST | Nein | Ja | Ja | Ja | Nein |
| Kampagnen | REST | Nein | Ja | Ja | Ja | Nein |
| Interaktionen | REST | Nein | Ja | Ja | Ja | Nein |
| Inhalts-Assets | REST | Nein | Ja | Ja | Ja | Nein |
Beispiel für 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" } )
Beispiel für 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" } )
Entitäts- und Felddetails zu Salesforce Marketing Cloud:
In den folgenden Tabellen werden die Salesforce-Marketing-Cloud-Entitäten beschrieben. Es gibt REST-Entitäten mit statischen Metadaten und SOAP-Entitäten mit dynamischen Metadaten.
REST-Entitäten mit statischen Metadaten:
| Entität | Feld | Datentyp | Unterstützte Operatoren |
|---|---|---|---|
| Ereignisbenachrichtigung-Callback | callbackId | String | |
| callbackName | String | ||
| URL | String | ||
| maxBatchSize | Ganzzahl | ||
| Status | String | ||
| statusReason | String | ||
| Seed-Liste | id | String | |
| Name | String | ||
| description | String | ||
| activeSeedCount | Ganzzahl | ||
| Aufstellen | customerKey | String | |
| Name | String | ||
| description | String | ||
| locationType | String | '=' | |
| awsFileTransferLocation | Struct | ||
| Domain-Verifizierung | enterpriseId | Ganzzahl | |
| Status | String | '=' | |
| domainType | String | '=' | |
| memberId | Ganzzahl | ||
| emailSendTime | DateTime | ||
| Domain | String | ||
| isSendable | Boolesch | ||
| Verschachtelte Objekt-Tags | id | Ganzzahl | |
| modifiedDate | DateTime | ||
| tags | Auflisten | ||
| Name | String | ||
| description | String | ||
| parentId | Ganzzahl | ||
| Kontakt | values | Auflisten | |
| Abonnement für Ereignisbenachrichtigung | subscriptionName | String | |
| callbackId | String | ||
| callbackName | String | ||
| eventCategoryTypes | Auflisten | ||
| -Filter | Auflisten | ||
| URL | String | ||
| maxBatchSize | Ganzzahl | ||
| subscriptionId | String | ||
| Status | String | ||
| statusReason | String | ||
| Messaging | deliveryTime | DateTime | |
| id | String | ||
| messageId | String | ||
| Status | String | ||
| to | Struct | ||
| Interaktionen | Status | String | '=' |
| id | String | ||
| Schlüssel | String | ||
| Name | String | ||
| lastPublishedDate | DateTime | ||
| description | String | ||
| version | Ganzzahl | ||
| workflowApiVersion | Ganzzahl | ||
| createdDate | DateTime | ||
| modifiedDate | DateTime | ||
| goals | Struct | ||
| stats | Struct | ||
| entryMode | String | ||
| defaults | Struct | ||
| executionMode | Struct | ||
| definitionId | String | ||
| Inhalts-Assets | id | Ganzzahl | |
| customerKey | String | ||
| objectId | String | ||
| contentType | String | ||
| assetType | Struct | ||
| Name | String | ||
| description | String | ||
| owner | Struct | ||
| createdDate | DateTime | ||
| createdBy | Struct | ||
| modifiedDate | DateTime | ||
| modifiedBy | Struct | ||
| thumbnail | Struct | ||
| Kategorie | Struct | ||
| meta | Struct | ||
| Ansichten | Struct | ||
| availableViews | Struct | ||
| data | Struct | ||
| legacyData | Struct | ||
| modelVersion | Ganzzahl | ||
| Version | Ganzzahl | ||
| Gesperrt | Boolesch | ||
| FileProperties | Struct | ||
| Tags | Auflisten | ||
| Inhalt | String | ||
| Design | String | ||
| SuperContent | String | ||
| CustomFields | Struct | ||
| Blöcke | Struct | ||
| MinBlocks | Ganzzahl | ||
| MaxBlocks | Ganzzahl | ||
| Kanäle | Struct | ||
| AllowedBlocks | Auflisten | ||
| Slots | Struct | ||
| BusinessUnitAvailability | Struct | ||
| sharingProperties | Struct | ||
| sharingProperties.sharedWith | Struct | ||
| sharingProperties.sharingType | String | ||
| Vorlage | Struct | ||
| Datei | String | ||
| GenerateFrom | String | ||
| Prüfungsereignisse | id | Ganzzahl | |
| createdDate | DateTime | ||
| memberId | Ganzzahl | ||
| enterpriseId | Ganzzahl | ||
| employee | Struct | ||
| objectType | Struct | ||
| operation | Struct | ||
| object | Struct | ||
| transactionId | String | ||
| Kampagnen | id | Ganzzahl | |
| createdDate | DateTime | ||
| modifiedDate | DateTime | ||
| Name | String | ||
| description | String | ||
| campaignCode | String | ||
| color | String | ||
| favorite | Boolesch |
SOAP-Entitäten mit dynamischen Metadaten:
| Entität | Datentyp | Unterstützte Operatoren |
|---|---|---|
| Aktivität | String | LIKE,!=,= |
| Struct | ||
| Ganzzahl | !=,=,>=,<=,<,> | |
| Double | !=,=,>=,<=,<,> | |
| Boolesch | !=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Bounce-Ereignis | Ganzzahl | !=,=,>=,<=,<,> |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| String | LIKE,!=,= | |
| Struct | ||
| Klickereignis | Ganzzahl | !=,=,>=,<=,<,> |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| String | LIKE,!=,= | |
| Struct | ||
| Inhaltsbereich | Struct | |
| String | LIKE,!=,= | |
| Ganzzahl | !=,=,>=,<=,<,> | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Boolesch | !=,= | |
| Datenerweiterung | DateTime | >=,<=,<,>,=,BETWEEN |
| String | LIKE,!=,= | |
| Ganzzahl | !=,=,>=,<=,<,> | |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Boolesch | !=,= | |
| Struct | ||
| Ereignis Weitergeleitete E-Mail | Ganzzahl | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| Weitergeleitete E-Mail: OptinEvent | Ganzzahl | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| Link | Ganzzahl | !=,=,>=,<=,<,> |
| Link senden | Ganzzahl | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| Double | !=,=,>=,<=,<,> | |
| Auflisten | Ganzzahl | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| Liste von Abonnenten | Ganzzahl | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| Ereignis Nicht gesendet | Ganzzahl | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| Ereignis Öffnen | Ganzzahl | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| Senden | Ganzzahl | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Boolesch | !=,= | |
| Struct | ||
| Ereignis Gesendet | Ganzzahl | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| Subscriber | Ganzzahl | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| Ereignis Umfrage | Ganzzahl | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Struct | ||
| Ereignis Abonnement beenden | Ganzzahl | !=,=,>=,<=,<,> |
| String | LIKE,!=,= | |
| DateTime | >=,<=,<,>,=,BETWEEN | |
| Boolesch | !=,= | |
| Struct |
Partitionieren von Abfragen
In Salesforce Marketing Cloud unterstützen die Datentypfelder „Integer“ und „DateTime“ die feldbasierte Partitionierung.
Sie können die zusätzlichen Spark-Optionen PARTITION_FIELD, LOWER_BOUND, UPPER_BOUND und NUM_PARTITIONS angeben, wenn Sie Parallelität in Spark nutzen möchten. Mit diesen Parametern wird die ursprüngliche Abfrage in NUM_PARTITIONS Unterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können.
PARTITION_FIELD: der Name des Feldes, das zur Partitionierung der Abfrage verwendet werden soll.LOWER_BOUND: ein inklusiver Untergrenzwert des ausgewählten Partitionsfelds.Für das Timestamp-Feld akzeptieren wir das Spark-Zeitstempelformat, das in Spark-SQL-Abfragen verwendet wird.
Beispiele für gültigen Wert:
“2024-05-07T02:03:00.00Z"UPPER_BOUND: ein exklusiver Obergrenzwert des ausgewählten Partitionsfelds.NUM_PARTITIONS: die Anzahl der Partitionen.
Beispiel:
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" } )