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 | Sí | No |
Lista de semillas | REST | No | Sí | No | Sí | No |
Configuración | REST | Sí | Sí | No | Sí | No |
Verificación de dominio | REST | Sí | Sí | Sí | Sí | No |
Etiquetas anidadas de objetos | REST | Sí | No | No | Sí | No |
Contacto | REST | No | Sí | No | Sí | No |
Suscripción a notificaciones de eventos | REST | No | No | No | Sí | No |
Mensajería | REST | No | Sí | No | Sí | No |
Actividad | SOAP | No | No | No | Sí | Sí |
Evento de devolución | SOAP | No | No | No | Sí | Sí |
Evento de clic | SOAP | No | No | No | Sí | Sí |
Área de contenido | SOAP | No | No | No | Sí | Sí |
Extensión de datos | SOAP | No | Sí | No | Sí | Sí |
Correo electrónico | SOAP | No | Sí | No | Sí | Sí |
Evento de correo electrónico reenviado | SOAP | No | Sí | No | Sí | Sí |
Evento de consentimiento de reenvío de correo electrónico | SOAP | No | Sí | No | Sí | Sí |
Enlace | SOAP | No | Sí | No | Sí | Sí |
Envío de enlace | SOAP | No | Sí | No | Sí | Sí |
Enumeración | SOAP | No | Sí | No | Sí | Sí |
Suscriptor de lista | SOAP | No | Sí | No | Sí | Sí |
Evento de no envío | SOAP | No | Sí | No | Sí | Sí |
Evento de apertura | SOAP | No | Sí | No | Sí | Sí |
Send | SOAP | No | Sí | No | Sí | Sí |
Evento de envío | SOAP | No | Sí | No | Sí | Sí |
Suscriptor | SOAP | No | Sí | No | Sí | Sí |
Evento de encuesta | SOAP | No | Sí | No | Sí | Sí |
Evento de subscripción anulada | SOAP | No | Sí | No | Sí | Sí |
Eventos de auditoría | REST | No | Sí | Sí | Sí | No |
Campañas | REST | No | Sí | Sí | Sí | No |
Interacciones | REST | No | Sí | Sí | Sí | No |
Activos de contenido | REST | No | Sí | Sí | Sí | 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" }