Lectura de entidades de Salesforce Marketing Cloud - AWS Glue

Lectura de entidades de Salesforce Marketing Cloud

Requisito previo

Un objeto de Salesforce Marketing Cloud desde el cual le gustaría leer. Necesitará el nombre del objeto, como Activity o Campaigns. En la siguiente tabla se muestran las entidades admitidas.

Entidades compatibles como origen:

Entidad Interfaz Se puede filtrar Admite límite Admite Ordenar por Admite SELECCIONAR * Admite partición
Devolución de llamadas para notificaciones de eventos REST No No No No
Lista de semillas REST No No No
Configuración REST No No
Verificación de dominio REST No
Etiquetas anidadas de objetos REST No No No
Contacto REST No No No
Suscripción a notificaciones de eventos REST No No No No
Mensajería REST No No No
Actividad SOAP No No No
Evento de devolución SOAP No No No
Evento de clic SOAP No No No
Área de contenido SOAP No No No
Extensión de datos SOAP No No
Correo electrónico SOAP No No
Evento de correo electrónico reenviado SOAP No No
Evento de consentimiento de reenvío de correo electrónico SOAP No No
Enlace SOAP No No
Envío de enlace SOAP No No
Enumeración SOAP No No
Suscriptor de lista SOAP No No
Evento de no envío SOAP No No
Evento de apertura SOAP No No
Send SOAP No No
Evento de envío SOAP No No
Suscriptor SOAP No No
Evento de encuesta SOAP No No
Evento de subscripción anulada SOAP No No
Eventos de auditoría REST No No
Campañas REST No No
Interacciones REST No No
Activos de contenido REST No No

Ejemplo de 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" }

Ejemplo de 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" }

Detalles de la entidad y el campo de Salesforce Marketing Cloud:

Las siguientes tablas describen las entidades de Salesforce Marketing Cloud. Hay entidades REST con metadatos estáticos y entidades SOAP con metadatos dinámicos.

Entidades REST con metadatos estáticos:

Entidad Campo Tipo de datos Operadores admitidos
Devolución de llamadas para notificaciones de eventos callbackId Cadena
callbackName Cadena
url Cadena
maxBatchSize Entero
estado Cadena
statusReason Cadena
Lista de semillas id Cadena
name Cadena
Descripción Cadena
activeSeedCount Entero
Configuración customerKey Cadena
name Cadena
Descripción Cadena
locationType Cadena '='
awsFileTransferLocation Struct
Verificación de dominio enterpriseId Entero
estado Cadena '='
domainType Cadena '='
memberId Entero
emailSendTime DateTime
Dominio Cadena
isSendable Booleano
Etiquetas anidadas de objetos id Entero
modifiedDate DateTime
etiquetas Enumeración
name Cadena
Descripción Cadena
parentId Entero
Contacto valores Enumeración
Suscripción a notificaciones de eventos subscriptionName Cadena
callbackId Cadena
callbackName Cadena
eventCategoryTypes Enumeración
filters Enumeración
url Cadena
maxBatchSize Entero
subscriptionId Cadena
estado Cadena
statusReason Cadena
Mensajería deliveryTime DateTime
id Cadena
messageId Cadena
estado Cadena
a Struct
Interacciones estado Cadena '='
id Cadena
key Cadena
name Cadena
lastPublishedDate DateTime
Descripción Cadena
versión Entero
workflowApiVersion Entero
createdDate DateTime
modifiedDate DateTime
goals Struct
stats Struct
entryMode Cadena
defaults Struct
executionMode Struct
definitionId Cadena
Activos de contenido id Entero
customerKey Cadena
objectId Cadena
contentType Cadena
assetType Struct
name Cadena
Descripción Cadena
owner Struct
createdDate DateTime
createdBy Struct
modifiedDate DateTime
modifiedBy Struct
miniatura Struct
categoría Struct
meta Struct
vistas Struct
availableViews Struct
datos Struct
legacyData Struct
modelVersion Entero
Versión Entero
Locked (Bloqueado) Booleano
FileProperties Struct
Etiquetas Enumeración
Contenidos Cadena
Diseño Cadena
SuperContent Cadena
CustomFields Struct
Bloques Struct
MinBlocks Entero
MaxBlocks Entero
Canales Struct
AllowedBlocks Enumeración
Slots Struct
BusinessUnitAvailability Struct
sharingProperties Struct
sharingProperties.sharedWith Struct
sharingProperties.sharingType Cadena
Plantilla Struct
Archivos Cadena
GenerateFrom Cadena
Eventos de auditoría id Entero
createdDate DateTime
memberId Entero
enterpriseId Entero
employee Struct
objectType Struct
operación Struct
objeto Struct
transactionId Cadena
Campañas id Entero
createdDate DateTime
modifiedDate DateTime
name Cadena
Descripción Cadena
campaignCode Cadena
color Cadena
favorite Booleano

Entidades SOAP con metadatos dinámicos:

Entidad Tipo de datos Operadores admitidos
Actividad Cadena LIKE,!=,=
Struct
Entero !=,=,>=,<=,<,>
Doble !=,=,>=,<=,<,>
Booleano !=,=
DateTime >=,<=,<,>,=,BETWEEN
Evento de devolución Entero !=,=,>=,<=,<,>
DateTime >=,<=,<,>,=,BETWEEN
Cadena LIKE,!=,=
Struct
Evento de clic Entero !=,=,>=,<=,<,>
DateTime >=,<=,<,>,=,BETWEEN
Cadena LIKE,!=,=
Struct
Área de contenido Struct
Cadena LIKE,!=,=
Entero !=,=,>=,<=,<,>
DateTime >=,<=,<,>,=,BETWEEN
Booleano !=,=
Extensión de datos DateTime >=,<=,<,>,=,BETWEEN
Cadena LIKE,!=,=
Correo electrónico Entero !=,=,>=,<=,<,>
Cadena LIKE,!=,=
DateTime >=,<=,<,>,=,BETWEEN
Booleano !=,=
Struct
Evento de correo electrónico reenviado Entero !=,=,>=,<=,<,>
Cadena LIKE,!=,=
DateTime >=,<=,<,>,=,BETWEEN
Struct
Evento de consentimiento de correo electrónico reenviado Entero !=,=,>=,<=,<,>
Cadena LIKE,!=,=
DateTime >=,<=,<,>,=,BETWEEN
Struct
Enlace Entero !=,=,>=,<=,<,>
Envío de enlace Entero !=,=,>=,<=,<,>
Cadena LIKE,!=,=
Doble !=,=,>=,<=,<,>
Enumeración Entero !=,=,>=,<=,<,>
Cadena LIKE,!=,=
DateTime >=,<=,<,>,=,BETWEEN
Struct
Suscriptor de lista Entero !=,=,>=,<=,<,>
Cadena LIKE,!=,=
DateTime >=,<=,<,>,=,BETWEEN
Struct
Evento de no envío Entero !=,=,>=,<=,<,>
Cadena LIKE,!=,=
DateTime >=,<=,<,>,=,BETWEEN
Struct
Evento de apertura Entero !=,=,>=,<=,<,>
Cadena LIKE,!=,=
DateTime >=,<=,<,>,=,BETWEEN
Struct
Send Entero !=,=,>=,<=,<,>
Cadena LIKE,!=,=
DateTime >=,<=,<,>,=,BETWEEN
Booleano !=,=
Struct
Evento de envío Entero !=,=,>=,<=,<,>
Cadena LIKE,!=,=
DateTime >=,<=,<,>,=,BETWEEN
Struct
Suscriptor Entero !=,=,>=,<=,<,>
Cadena LIKE,!=,=
DateTime >=,<=,<,>,=,BETWEEN
Struct
Evento de encuesta Entero !=,=,>=,<=,<,>
Cadena LIKE,!=,=
DateTime >=,<=,<,>,=,BETWEEN
Struct
Evento de subscripción anulada Entero !=,=,>=,<=,<,>
Cadena LIKE,!=,=
DateTime >=,<=,<,>,=,BETWEEN
Booleano !=,=
Struct

Consultas de particionamiento

En Salesforce Marketing Cloud, los campos de tipo de datos Entero y Fecha y hora admiten la partición basada en campos.

Puede proporcionar las opciones adicionales de Spark PARTITION_FIELD, LOWER_BOUND, UPPER_BOUND y NUM_PARTITIONS si quiere utilizar la simultaneidad en Spark. Con estos parámetros, la consulta original se dividiría en un número NUM_PARTITIONS de subconsultas que las tareas de Spark pueden ejecutar simultáneamente.

  • PARTITION_FIELD: el nombre del campo que se utilizará para particionar la consulta.

  • LOWER_BOUND: un valor de límite inferior inclusivo del campo de partición elegido.

    Para el campo de marca de tiempo, aceptamos el formato de marca de tiempo de Spark que se usa en las consultas de Spark SQL.

    Ejemplos de valor válido:

    “2024-05-07T02:03:00.00Z"
  • UPPER_BOUND: un valor límite superior exclusivo del campo de partición elegido.

  • NUM_PARTITIONS: el número de particiones.

Ejemplo:

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" }