Copiar dados do Salesforce Marketing Cloud usando o Azure Data Factory ou o Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!

Este artigo descreve como usar a Atividade de cópia no Azure Data Factory ou os pipelines do Synapse Analytics para copiar dados do Salesforce Marketing Cloud. Ele se baseia no artigo de visão geral da atividade de cópia que apresenta uma visão geral da atividade de cópia.

Capacidades suportadas

Este conector do Salesforce Marketing Cloud é compatível com os seguintes recursos:

Capacidades suportadas IR
Atividade de cópia (fonte/-) ① ②
Atividade de Pesquisa ① ②

(1) Tempo de execução de integração do Azure (2) Tempo de execução de integração auto-hospedado

Para obter uma lista de armazenamentos de dados suportados como fontes/coletores, consulte a tabela Armazenamentos de dados suportados.

O conector do Salesforce Marketing Cloud suporta autenticação OAuth 2 e suporta tipos de pacotes herdados e avançados. O conector é criado com base na API REST do Salesforce Marketing Cloud.

Nota

Este conector não suporta a recuperação de vistas, objetos personalizados ou extensões de dados personalizadas.

Introdução

Você pode criar um pipeline com atividade de cópia usando o SDK do .NET, o SDK do Python, o Azure PowerShell, a API REST ou o modelo do Azure Resource Manager. Consulte Tutorial de atividade de cópia para obter instruções passo a passo para criar um pipeline com uma atividade de cópia.

Criar um serviço vinculado ao Salesforce Marketing Cloud usando a interface do usuário

Use as etapas a seguir para criar um serviço vinculado ao Salesforce Marketing Cloud na interface do usuário do portal do Azure.

  1. Navegue até a guia Gerenciar em seu espaço de trabalho do Azure Data Factory ou Synapse e selecione Serviços Vinculados e clique em Novo:

  2. Pesquise o Salesforce e selecione o conector do Salesforce Marketing Cloud.

    Select the Salesforce Marketing Cloud connector.

  3. Configure os detalhes do serviço, teste a conexão e crie o novo serviço vinculado.

    Configure a linked service to Salesforce Marketing Cloud.

Nota

O escopo de integração de API no Salesforce Marketing Cloud deve ser definido como Hub | Campanha | Leia para que o conector seja bem-sucedido.

Detalhes de configuração do conector

As seções a seguir fornecem detalhes sobre as propriedades usadas para definir entidades do Data Factory específicas para o conector do Salesforce Marketing Cloud.

Propriedades do serviço vinculado

As seguintes propriedades são compatíveis com o serviço vinculado do Salesforce Marketing Cloud:

Propriedade Descrição Necessário
tipo A propriedade type deve ser definida como: SalesforceMarketingCloud Sim
connectionProperties Um grupo de propriedades que define como se conectar ao Salesforce Marketing Cloud. Sim
Em connectionProperties:
authenticationType Especifica o método de autenticação a ser usado. Os valores permitidos são Enhanced sts OAuth 2.0 ou OAuth_2.0.

O pacote herdado do Salesforce Marketing Cloud suporta OAuth_2.0apenas , enquanto o pacote aprimorado precisa .Enhanced sts OAuth 2.0
Desde 1º de agosto de 2019, o Salesforce Marketing Cloud removeu a capacidade de criar pacotes herdados. Todos os novos pacotes são pacotes melhorados.
Sim
host Para o pacote aprimorado, o host deve ser seu subdomínio, que é representado por uma cadeia de 28 caracteres começando com as letras "mc", por exemplo. mc563885gzs27c5t9-63k636ttgm
Para pacote herdado, especifique www.exacttargetapis.com.
Sim
clientId A ID do cliente associada ao aplicativo Salesforce Marketing Cloud. Sim
clientSecret O segredo do cliente associado ao aplicativo Salesforce Marketing Cloud. Você pode optar por marcar esse campo como um SecureString para armazená-lo com segurança no serviço ou armazenar o segredo no Cofre de Chaves do Azure e permitir que a atividade de cópia de serviço seja extraída de lá ao executar a cópia de dados - saiba mais em Armazenar credenciais no Cofre de Chaves. Sim
useEncryptedEndpoints Especifica se os pontos de extremidade da fonte de dados são criptografados usando HTTPS. O valor predefinido é true. Não
useHostVerification Especifica se o nome do host no certificado do servidor deve corresponder ao nome do host do servidor ao se conectar por TLS. O valor predefinido é true. Não
usePeerVerification Especifica se a identidade do servidor deve ser verificada ao se conectar por TLS. O valor predefinido é true. Não

Exemplo: usando autenticação STS OAuth 2 aprimorada para pacote avançado

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

Exemplo: usando a autenticação OAuth 2 para pacote herdado

{
    "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 você estava usando o serviço vinculado do Salesforce Marketing Cloud com a seguinte carga útil, ele ainda é suportado no estado em que se encontra, enquanto é sugerido que você use o novo no futuro, que adiciona suporte aprimorado a pacotes.

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

Propriedades do conjunto de dados

Para obter uma lista completa de seções e propriedades disponíveis para definir conjuntos de dados, consulte o artigo sobre conjuntos de dados. Esta seção fornece uma lista de propriedades compatíveis com o conjunto de dados do Salesforce Marketing Cloud.

Para copiar dados do Salesforce Marketing Cloud, defina a propriedade type do conjunto de dados como SalesforceMarketingCloudObject. As seguintes propriedades são suportadas:

Propriedade Descrição Necessário
tipo A propriedade type do conjunto de dados deve ser definida como: SalesforceMarketingCloudObject Sim
tableName Nome da tabela. Não (se "consulta" na fonte da atividade for especificado)

Exemplo

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

Propriedades da atividade Copy

Para obter uma lista completa de seções e propriedades disponíveis para definir atividades, consulte o artigo Pipelines . Esta seção fornece uma lista de propriedades compatíveis com a fonte do Salesforce Marketing Cloud.

Salesforce Marketing Cloud como origem

Para copiar dados do Salesforce Marketing Cloud, defina o tipo de origem na atividade de cópia como SalesforceMarketingCloudSource. As seguintes propriedades são suportadas na seção de origem da atividade de cópia:

Propriedade Descrição Necessário
tipo A propriedade type da fonte de atividade de cópia deve ser definida como: SalesforceMarketingCloudSource Sim
query Use a consulta SQL personalizada para ler dados. Por exemplo: "SELECT * FROM MyTable". Não (se "tableName" no conjunto de dados for especificado)

Exemplo:

"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

A tabela de contatos não é suportada.

Propriedades da atividade de pesquisa

Para saber detalhes sobre as propriedades, verifique Atividade de pesquisa.

Para obter uma lista de armazenamentos de dados suportados como fontes e coletores pela atividade de cópia, consulte Armazenamentos de dados suportados.