Copiare dati da Salesforce Marketing Cloud usando Azure Data Factory o Synapse Analytics

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

Questo articolo illustra come usare l'attività di copia nelle pipeline di Azure Data Factory o Synapse Analytics per copiare dati da Salesforce Marketing Cloud. Si basa sull'articolo di panoramica dell'attività di copia che presenta una panoramica generale sull'attività di copia.

Funzionalità supportate

Questo connettore Salesforce Marketing Cloud è supportato per le funzionalità seguenti:

Funzionalità supportate IR
attività Copy (source/-) ① ②
Attività Lookup ① ②

(1) Runtime di integrazione di Azure (2) Runtime di integrazione self-hosted

Per un elenco degli archivi dati supportati come origini/sink, vedere la tabella Archivi dati supportati.

Il connettore Salesforce Marketing Cloud supporta l'autenticazione OAuth 2 e supporta i tipi di pacchetti legacy e avanzati. Il connettore è basato sull'API REST Salesforce Marketing Cloud.

Nota

Questo connettore non supporta il recupero di visualizzazioni, oggetti personalizzati o estensioni dati personalizzate.

Introduzione

È possibile creare una pipeline con l'attività di copia usando .NET SDK, Python SDK, Azure PowerShell, l'API REST o il modello Azure Resource Manager. Vedere l'esercitazione sull'attività di copia per le istruzioni dettagliate sulla creazione di una pipeline con un'attività di copia.

Creare un servizio collegato a Salesforce Marketing Cloud usando l'interfaccia utente

Usare la procedura seguente per creare un servizio collegato a Salesforce Marketing Cloud nell'interfaccia utente di portale di Azure.

  1. Passare alla scheda Gestisci nell'area di lavoro di Azure Data Factory o Synapse e selezionare Servizi collegati, quindi fare clic su Nuovo:

  2. Cercare Salesforce e selezionare il connettore Salesforce Marketing Cloud.

    Select the Salesforce Marketing Cloud connector.

  3. Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.

    Configure a linked service to Salesforce Marketing Cloud.

Nota

L'ambito di integrazione dell'API in Salesforce Marketing Cloud deve essere impostato su Hub | Campagna | Leggere affinché il connettore abbia esito positivo.

Dettagli di configurazione di Connessione or

Le sezioni seguenti riportano informazioni dettagliate sulle proprietà che vengono usate per definire entità di Data Factory specifiche per il connettore Salesforce Marketing Cloud.

Proprietà del servizio collegato

Per il servizio collegato di Salesforce Marketing Cloud sono supportate le proprietà seguenti:

Proprietà Descrizione Richiesto
Tipo La proprietà type deve essere impostata su SalesforceMarketingCloud
connectionProperties Gruppo di proprietà che definisce come connettersi a Salesforce Marketing Cloud.
In connectionProperties:
authenticationType specifica il metodo di autenticazione da usare. I valori consentiti sono Enhanced sts OAuth 2.0 o OAuth_2.0.

Il pacchetto legacy Salesforce Marketing Cloud supporta OAuth_2.0solo , mentre il pacchetto avanzato richiede Enhanced sts OAuth 2.0.
Dal 1° agosto 2019, Salesforce Marketing Cloud ha rimosso la possibilità di creare pacchetti legacy. Tutti i nuovi pacchetti sono pacchetti avanzati.
host Per il pacchetto avanzato, l'host deve essere il sottodominio rappresentato da una stringa di 28 caratteri che inizia con le lettere "mc", ad esempio mc563885gzs27c5t9-63k636ttgm.
Per il pacchetto legacy specificare www.exacttargetapis.com.
clientId L'ID client associato all'applicazione Salesforce Marketing Cloud.
clientSecret Il segreto client associato all'applicazione Salesforce Marketing Cloud. È possibile scegliere di contrassegnare questo campo come SecureString per archiviarlo in modo sicuro nel servizio oppure archiviare il segreto in Azure Key Vault e consentire all'attività di copia del servizio di eseguire il pull da questa posizione durante l'esecuzione della copia dei dati. Per altre informazioni, vedere Archiviare le credenziali in Key Vault.
useEncryptedEndpoints Specifica se gli endpoint dell'origine dati vengono crittografati tramite HTTPS. Il valore predefinito è true. No
useHostVerification Specifica se richiedere che il nome host nel certificato del server corrisponda al nome host del server durante la connessione tramite TLS. Il valore predefinito è true. No
usePeerVerification Specifica se verificare l'identità del server durante la connessione tramite TLS. Il valore predefinito è true. No

Esempio: uso dell'autenticazione stS OAuth 2 avanzata per il pacchetto avanzato

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

Esempio: uso dell'autenticazione OAuth 2 per il pacchetto legacy

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

Se si usa il servizio collegato Salesforce Marketing Cloud con il payload seguente, è ancora supportato così come è, mentre si consiglia di usare quello nuovo che aggiunge supporto avanzato per i pacchetti.

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

Proprietà del set di dati

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione di set di dati, vedere l'articolo sui set di dati. Questa sezione presenta un elenco delle proprietà supportate dal set di dati Salesforce Marketing Cloud.

Per copiare dati da Salesforce Marketing Cloud, impostare la proprietà type del set di dati su SalesforceMarketingCloudObject. Sono supportate le proprietà seguenti:

Proprietà Descrizione Richiesto
Tipo La proprietà type del set di dati deve essere impostata su: SalesforceMarketingCloudObject
tableName Nome della tabella. No (se nell'origine dell'attività è specificato "query")

Esempio

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

Proprietà dell'attività di copia

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline. Questa sezione presenta un elenco delle proprietà supportate dall'origine Salesforce Marketing Cloud.

Salesforce Marketing Cloud come origine

Per copiare dati da Salesforce Marketing Cloud, impostare il tipo di origine nell'attività di copia su SalesforceMarketingCloudSource. Nella sezione origine dell'attività di copia sono supportate le proprietà seguenti:

Proprietà Descrizione Richiesto
Tipo La proprietà type dell'origine dell'attività di copia deve essere impostata su: SalesforceMarketingCloudSource
query Usare la query SQL personalizzata per leggere i dati. Ad esempio: "SELECT * FROM MyTable". No (se nel set di dati è specificato "tableName")

Esempio:

"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 tabella Contatti non è supportata.

Proprietà dell'attività Lookup

Per altre informazioni sulle proprietà, vedere Attività Lookup.

Per un elenco degli archivi dati supportati come origini e sink dall'attività di copia, vedere archivi dati supportati.