Lesen aus Salesforce-Marketing-Cloud-Entitäten - AWS Glue

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
Email 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,!=,=
Email 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" } )