Copier des données de Salesforce Marketing Cloud avec Azure Data Factory ou Synapse Analytics

S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics

Conseil

Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, l’aide à la décision et la création de rapports. Découvrez comment démarrer un nouvel essai gratuitement !

Cet article décrit comment utiliser l’activité Copier dans des pipelines Azure Data Factory ou Azure Synapse Analytics pour copier des données à partir de Salesforce Marketing Cloud. Il s’appuie sur l’article Vue d’ensemble de l’activité de copie.

Fonctionnalités prises en charge

Ce connecteur Salesforce Marketing Cloud est pris en charge pour les capacités suivantes :

Fonctionnalités prises en charge IR
Activité de copie (source/-)
Activité de recherche

① Runtime d’intégration Azure ② Runtime d’intégration auto-hébergé

Pour obtenir la liste des magasins de données pris en charge en tant que sources et récepteurs, consultez le tableau Magasins de données pris en charge.

Le connecteur Salesforce Marketing Cloud prend en charge l’authentification OAuth 2 ainsi que les types de packages hérités et améliorés. Le connecteur repose sur l’API REST Salesforce Marketing Cloud.

Notes

Ce connecteur ne prend pas en charge la récupération de vues, d’objets personnalisés ou d’extensions de données personnalisées.

Prise en main

Vous pouvez créer un pipeline avec l’activité de copie à l’aide du SDK .NET, du SDK Python, d’Azure PowerShell, de l’API REST ou du modèle Azure Resource Manager. Pour obtenir des instructions détaillées sur la création d’un pipeline avec une activité de copie, consultez le didacticiel sur l’activité de copie.

Créer un service lié à Salesforce Marketing Cloud à l’aide de l’interface utilisateur

Utilisez les étapes suivantes pour créer un service lié à Salesforce Marketing Cloud dans l’interface utilisateur du portail Azure.

  1. Accédez à l’onglet Gérer dans votre espace de travail Azure Data Factory ou Synapse et sélectionnez Services liés, puis cliquez sur Nouveau :

  2. Recherchez Salesforce et sélectionnez le connecteur Salesforce Marketing Cloud.

    Select the Salesforce Marketing Cloud connector.

  3. Configurez les informations du service, testez la connexion et créez le nouveau service lié.

    Configure a linked service to Salesforce Marketing Cloud.

Remarque

L’étendue d’intégration d’API sur Salesforce Marketing Cloud doit être définie sur Hub | | de campagne Lire pour que le connecteur réussisse.

Informations de configuration du connecteur

Les sections suivantes fournissent des informations sur les propriétés utilisées pour définir des entités Data Factory propres au connecteur Salesforce Marketing Cloud.

Propriétés du service lié

Les propriétés prises en charge pour le service lié Salesforce Marketing Cloud sont les suivantes :

Propriété Description Obligatoire
type La propriété type doit être définie sur : SalesforceMarketingCloud Oui
connectionProperties Groupe de propriétés qui définit la façon de se connecter à Salesforce Marketing Cloud. Oui
Sous connectionProperties :
authenticationType spécifie la méthode d’authentification à utiliser. Valeurs autorisées : Enhanced sts OAuth 2.0 ou OAuth_2.0.

Le package hérité Salesforce Marketing Cloud prend uniquement en charge OAuth_2.0, tandis que le package amélioré nécessite Enhanced sts OAuth 2.0.
Depuis le 1er août 2019, Salesforce Marketing Cloud a supprimé la possibilité de créer des packages hérités. Tous les nouveaux packages sont des packages améliorés.
Oui
host Pour le package amélioré, l’hôte doit être votre sous-domaine qui est représenté par une chaîne de 28 caractères commençant par les lettres « mc », par exemple mc563885gzs27c5t9-63k636ttgm.
Pour le package hérité, spécifiez www.exacttargetapis.com.
Oui
clientId ID client associé à l’application Salesforce Marketing Cloud. Oui
clientSecret Clé secrète client associée à l’application Salesforce Marketing Cloud. Vous pouvez choisir de marquer ce champ comme SecureString pour le stocker en toute sécurité dans le service, ou stocker le secret dans Azure Key Vault et laisser l’activité de copie de service en tirer (pull) les données lors de la copie. Pour plus d’informations, consultez Stocker des informations d’identification dans Key Vault. Oui
useEncryptedEndpoints Indique si les points de terminaison de la source de données sont chiffrés suivant le protocole HTTPS. La valeur par défaut est true. Non
useHostVerification Indique si le nom d’hôte du certificat du serveur doit correspondre à celui du serveur en cas de connexion TLS. La valeur par défaut est true. Non
usePeerVerification Indique s’il faut vérifier l’identité du serveur en cas de connexion TLS. La valeur par défaut est true. Non

Exemple : utilisation de l’authentification OAuth 2 du service STS amélioré pour le package amélioré

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

Exemple : utilisation de l’authentification OAuth 2 pour le package hérité

{
    "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 vous utilisiez le service lié Salesforce Marketing Cloud avec la charge utile suivante, il reste pris en charge tel quel, mais nous vous suggérons d’utiliser le nouveau à l’avenir, qui ajoute la prise en charge du package amélioré.

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

Propriétés du jeu de données

Pour obtenir la liste complète des sections et propriétés disponibles pour la définition de jeux de données, consultez l’article sur les jeux de données. Cette section donne la liste des propriétés prises en charge par le jeu de données Salesforce Marketing Cloud.

Pour copier des données à partir de Salesforce Marketing Cloud, affectez la valeur SalesforceMarketingCloudObject à la propriété type du jeu de données. Les propriétés prises en charge sont les suivantes :

Propriété Description Obligatoire
type La propriété type du jeu de données doit être définie sur : SalesforceMarketingCloudObject Oui
tableName Nom de la table. Non (si « query » dans la source de l’activité est spécifié)

Exemple

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

Propriétés de l’activité de copie

Pour obtenir la liste complète des sections et des propriétés disponibles pour la définition des activités, consultez l’article Pipelines. Cette section donne la liste des propriétés prises en charge par la source Salesforce Marketing Cloud.

Salesforce Marketing Cloud en tant que source

Pour copier des données à partir de Salesforce Marketing Cloud, affectez la valeur SalesforceMarketingCloudSource au type de source dans l’activité de copie. Les propriétés prises en charge dans la section source de l’activité de copie sont les suivantes :

Propriété Description Obligatoire
type La propriété type de la source d’activité de copie doit être définie sur : SalesforceMarketingCloudSource Oui
query Utiliser la requête SQL personnalisée pour lire les données. Par exemple : "SELECT * FROM MyTable". Non (si « tableName » est spécifié dans dataset)

Exemple :

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

Notes

La table contacts n’est pas prise en charge dans .

Propriétés de l’activité Lookup

Pour en savoir plus sur les propriétés, consultez Activité Lookup.

Pour obtenir une liste des magasins de données pris en charge comme sources et récepteurs par l’activité de copie, consultez la section sur les magasins de données pris en charge.