Copia de datos de Salesforce Marketing Cloud con Azure Data Factory o Synapse Analytics

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. Obtenga información sobre cómo iniciar una nueva evaluación gratuita.

En este artículo se describe el uso de la actividad de copia en canalizaciones de Azure Data Factory o Synapse Analytics para copiar datos de Salesforce Marketing Cloud. El documento se basa en el artículo de introducción a la actividad de copia que describe información general de la actividad de copia.

Funcionalidades admitidas

Este conector de Salesforce Marketing Cloud es compatible con las funcionalidades siguientes:

Funcionalidades admitidas IR
Actividad de copia (origen/-) 7,7
Actividad de búsqueda 7,7

① Azure Integration Runtime ② Entorno de ejecución de integración autohospedado

Para obtener una lista de los almacenes de datos que se admiten como orígenes y receptores, consulte la tabla de almacenes de datos admitidos.

El conector de Salesforce Marketing Cloud es compatible con la autenticación OAuth 2 y admite tipos de paquetes heredados y mejorados. Este conector se crea en la parte superior de la API REST de Salesforce Marketing Cloud.

Nota

Este conector no admite la recuperación de vistas, objetos personalizados o extensiones de datos personalizadas.

Introducción

Puede crear una canalización con la actividad de copia mediante el SDK de .NET, el SDK de Python, Azure PowerShell, la API de REST o la plantilla de Azure Resource Manager. Consulte el tutorial de actividad de copia para obtener instrucciones paso a paso para crear una canalización con una actividad de copia.

Creación de un servicio vinculado a Salesforce Marketing Cloud mediante la interfaz de usuario

Siga estos pasos para crear un servicio vinculado a Salesforce Marketing Cloud en la interfaz de usuario de Azure Portal.

  1. Vaya a la pestaña Administrar del área de trabajo de Azure Data Factory o Synapse y seleccione Servicios vinculados; luego haga clic en Nuevo:

  2. Busque Salesforce y seleccione el conector de Salesforce Marketing Cloud.

    Select the Salesforce Marketing Cloud connector.

  3. Configure los detalles del servicio, pruebe la conexión y cree el nuevo servicio vinculado.

    Configure a linked service to Salesforce Marketing Cloud.

Nota:

El ámbito de integración de la API en Salesforce Marketing Cloud debe establecerse en Hub | Campaña | Lectura para que el conector funcione correctamente.

Detalles de configuración del conector

Las secciones siguientes proporcionan detalles sobre las propiedades que se usan para definir entidades de Data Factory específicas para el conector Salesforce Marketing Cloud.

Propiedades del servicio vinculado

Las siguientes propiedades son compatibles con el servicio vinculado Salesforce Marketing Cloud:

Propiedad Descripción Obligatorio
type La propiedad type debe establecerse en: SalesforceMarketingCloud
connectionProperties Un grupo de propiedades que define cómo conectarse a Salesforce Marketing Cloud.
En connectionProperties:
authenticationType especifica el método de autenticación que se va a utilizar. Los valores permitidos son: Enhanced sts OAuth 2.0 o OAuth_2.0.

El paquete heredado de Salesforce Marketing Cloud solo admite OAuth_2.0, mientras que el paquete mejorado necesita Enhanced sts OAuth 2.0.
Desde el 1 de agosto de 2019, Salesforce Marketing Cloud ha eliminado la capacidad de crear paquetes heredados. Todos los paquetes nuevos son paquetes mejorados.
host Para un paquete mejorado, el host debe ser el subdominio que se representa mediante una cadena de 28 caracteres que empieza por las letras "mc", por ejemplo mc563885gzs27c5t9-63k636ttgm.
Para un paquete heredado, especifique www.exacttargetapis.com.
clientId El identificador de cliente asociado a la aplicación Salesforce Marketing Cloud.
clientSecret El secreto de cliente asociado a la aplicación Salesforce Marketing Cloud. Puede elegir marcar este campo como SecureString para almacenarlo de forma segura en el servicio o almacenar el secreto en Azure Key Vault y permitir que la actividad de copia del servicio incorpore los cambios desde allí al realizar la copia de datos. Más información en Almacenamiento de credenciales en Key Vault.
useEncryptedEndpoints Especifica si los puntos de conexión de origen de datos se cifran mediante HTTPS. El valor predeterminado es true. No
useHostVerification Especifica si se requiere que el nombre de host del certificado del servidor coincida con el nombre de host del servidor al conectarse a través de TLS. El valor predeterminado es true. No
usePeerVerification Especifica si se debe verificar la identidad del servidor al conectarse a través de TLS. El valor predeterminado es true. No

Ejemplo: uso de la autenticación OAuth 2 de STS para un paquete mejorado

{
    "name": "SalesforceMarketingCloudLinkedService",
    "properties": {
        "type": "SalesforceMarketingCloud",
        "typeProperties": {
            "connectionProperties": {
                "host": "<subdomain e.g. mc563885gzs27c5t9-63k636ttgm>",
                "authenticationType": "Enhanced sts OAuth 2.0",
                "clientId": "<clientId>",
                "clientSecret": {
                     "type": "SecureString",
                     "value": "<clientSecret>"
            	},
                "useEncryptedEndpoints": true,
                "useHostVerification": true,
                "usePeerVerification": true
            }
        }
    }
}

Ejemplo: uso de la autenticación OAuth 2 para un paquete heredado

{
    "name": "SalesforceMarketingCloudLinkedService",
    "properties": {
        "type": "SalesforceMarketingCloud",
        "typeProperties": {
            "connectionProperties": {
                "host": "www.exacttargetapis.com",
                "authenticationType": "OAuth_2.0",
                "clientId": "<clientId>",
                "clientSecret": {
                     "type": "SecureString",
                     "value": "<clientSecret>"
            	},
                "useEncryptedEndpoints": true,
                "useHostVerification": true,
                "usePeerVerification": true
            }
        }
    }
}

Si usaba el servicio Salesforce Marketing Cloud vinculado a la siguiente carga, todavía se admite tal cual, aunque se aconseja usar la nueva en el futuro, que agrega compatibilidad con paquetes mejorados.

{
    "name": "SalesforceMarketingCloudLinkedService",
    "properties": {
        "type": "SalesforceMarketingCloud",
        "typeProperties": {
            "clientId": "<clientId>",
            "clientSecret": {
                 "type": "SecureString",
                 "value": "<clientSecret>"
            },
            "useEncryptedEndpoints": true,
            "useHostVerification": true,
            "usePeerVerification": true
        }
    }
}

Propiedades del conjunto de datos

Si desea ver una lista completa de las secciones y propiedades disponibles para definir conjuntos de datos, consulte el artículo sobre conjuntos de datos. En esta sección se proporciona una lista de las propiedades que admite el conjunto de datos de Salesforce Marketing Cloud.

Para copiar datos desde y hacia Salesforce Marketing Cloud, establezca la propiedad type del conjunto de datos en SalesforceMarketingCloudObject. Se admiten las siguientes propiedades:

Propiedad Descripción Obligatorio
type La propiedad type del conjunto de datos debe establecerse en: SalesforceMarketingCloudObject
tableName Nombre de la tabla. No (si se especifica "query" en el origen de la actividad)

Ejemplo

{
    "name": "SalesforceMarketingCloudDataset",
    "properties": {
        "type": "SalesforceMarketingCloudObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<SalesforceMarketingCloud linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Propiedades de la actividad de copia

Si desea ver una lista completa de las secciones y propiedades disponibles para definir actividades, consulte el artículo sobre canalizaciones. En esta sección se proporciona una lista de las propiedades admitidas por el origen y el receptor de Salesforce Marketing Cloud.

Salesforce Marketing Cloud como origen

Para copiar datos desde y hacia Salesforce Marketing Cloud, establezca el tipo de origen de la actividad de copia en SalesforceMarketingCloudObject. Se admiten las siguientes propiedades en la sección source de la actividad de copia:

Propiedad Descripción Obligatorio
type La propiedad type del origen de la actividad de copia debe establecerse en: SalesforceMarketingCloudSource
Query Use la consulta SQL personalizada para leer los datos. Por ejemplo: "SELECT * FROM MyTable". No (si se especifica "tableName" en el conjunto de datos)

Ejemplo:

"activities":[
    {
        "name": "CopyFromSalesforceMarketingCloud",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<SalesforceMarketingCloud input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SalesforceMarketingCloudSource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Nota

La tabla de contactos no es compatible.

Propiedades de la actividad de búsqueda

Para obtener información detallada sobre las propiedades, consulte Actividad de búsqueda.

Para obtener una lista de almacenes de datos que la actividad de copia admite como orígenes y receptores, vea Almacenes de datos que se admiten.