Lesen aus Adobe-Marketo-Engage-Entitäten - AWS Glue

Lesen aus Adobe-Marketo-Engage-Entitäten

Voraussetzung

Ein Adobe-Marketo-Engage-Objekt, aus dem gelesen werden soll. Sie benötigen den Objektnamen, z. B. „leads“ oder „activities“ oder „customobjects“. Die folgenden Tabellen zeigen die unterstützten Entitäten.

Unterstützte Entitäten für die Quelle (synchron):

Entität Kann gefiltert werden Unterstützt Limit Unterstützt „Sortieren nach“ Unterstützt „* auswählen“ Unterstützt Partitionierung
leads Ja Ja Nein Ja Nein
activities Ja Ja Nein Ja Nein
customobjects Ja Ja Nein Ja Nein

Unterstützte Entitäten für die Quelle (asynchron):

Entität Kann gefiltert werden Unterstützt Limit Unterstützt „Sortieren nach“ Unterstützt „* auswählen“ Unterstützt Partitionierung
leads Ja Nein Nein Ja Ja
activities Ja Nein Nein Ja Nein
customobjects Ja Nein Nein Ja Ja

Beispiel:

adobe-marketo-engage_read = glueContext.create_dynamic_frame.from_options( connection_type="adobe-marketo-engage", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "leads", "API_VERSION": "v2", "INSTANCE_URL": "https://539-t**-6**.mktorest.com" }

Entitäts- und Felddetails von Adobe Marketo Engage:

Entitäten mit statischen Metadaten:

Entität Feld Datentyp Unterstützte Operatoren
activities sinceDatetime (nur im synchronen Modus unterstützt) DateTime >= (nur für den synchronen Modus)
createdAt (nur im asynchronen Modus unterstützt) DateTime between (nur für den asynchronen Modus)
activitiesTypeId Ganzzahl =
adobe-marketo-engageGUID Long = (nur für den synchronen Modus)
leadId Long N/A
activityDate DateTime N/A
campaignId Long N/A
primaryAttributeValueId Ganzzahl N/A
primaryAttributeValue String N/A
Attribute String N/A

Entitäten mit dynamischen Metadaten:

Für folgende Entitäten bietet Adobe Marketo Engage Endpunkte zum dynamischen Abrufen von Metadaten, sodass die Operatorunterstützung für jede Entität auf Datentypebene erfasst wird.

Entität Datentyp Unterstützte Operatoren
leads Ganzzahl = (nur für den synchronen Modus)
DateTime between (nur für den asynchronen Modus)
String = (nur für den synchronen Modus)
Long N/A
Boolesch N/A
Datum N/A
Gleitkommazahl N/A
customobjects Ganzzahl N/A
DateTime between (nur für den asynchronen Modus)
String = (nur für den synchronen Modus)
Datum N/A
Long N/A
Boolesch N/A
Gleitkommazahl N/A

Partitionieren von Abfragen

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 würde 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 DateTime-Feld akzeptieren wir den Wert im ISO-Format.

    Beispiel für gültigen Wert:

    "2024-07-01T00:00:00.000Z"
  • UPPER_BOUND: ein exklusiver Obergrenzwert des ausgewählten Partitionsfelds.

  • NUM_PARTITIONS: die Anzahl an Partitionen.

In der folgenden Tabelle sind Details zur Unterstützung der Partitionierung von Entitäten beschrieben:

Entity-Name Partitionieren von Feldern Datentyp
leads createdAt DateTime
updateAt DateTime
customobjects updatedAt DateTime

Beispiel:

adobe-marketo-engage_read = glueContext.create_dynamic_frame.from_options( connection_type="adobe-marketo-engage", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "leads", "API_VERSION": "v1", "PARTITION_FIELD": "createdAt" "LOWER_BOUND": "2024-07-01T00:00:00.000Z" "UPPER_BOUND": "2024-07-02T00:00:00.000Z" "NUM_PARTITIONS": "10" }