Carregar dados do Salesforce Marketing Cloud no BigQuery
É possível carregar dados do Salesforce Marketing Cloud para o BigQuery usando o conector do serviço de transferência de dados do BigQuery para o Salesforce Marketing Cloud. Com o serviço de transferência de dados do BigQuery, é possível programar jobs de transferência recorrentes que adicionam seus dados mais recentes do Salesforce Marketing Cloud ao BigQuery.
Limitações
As transferências de dados do Salesforce Marketing Cloud estão sujeitas às seguintes limitações:
- Uma única configuração de transferência só pode oferecer suporte a uma execução de transferência de dados por vez. Se uma segunda transferência de dados for programada para ser executada antes da conclusão da primeira, apenas a primeira será concluída. Todas as outras transferências de dados que se sobrepõem à primeira serão ignoradas.
- Para evitar transferências ignoradas em uma única configuração, recomendamos aumentar a duração entre grandes transferências de dados configurando a Frequência de repetição.
- Se a instância de máquina virtual (VM) e o anexo de rede configurados estiverem localizados em regiões diferentes, poderá haver movimentação de dados entre regiões ao transferir dados do Salesforce Marketing Cloud.
Antes de começar
Nas seções a seguir, descrevemos as etapas que você precisa seguir antes de criar uma transferência de dados do Salesforce Marketing Cloud.
Pré-requisitos do Salesforce Marketing Cloud
Você precisa ter as seguintes informações ao criar uma transferência de dados do Salesforce Marketing Cloud:
Nome do parâmetro | Descrição |
---|---|
subdomain |
O subdomínio da API, encontrado no URI base. Por exemplo, no URI da base de
autenticação https://SUBDOMAIN.auth.marketingcloudapis.com/ ,
SUBDOMAIN é o valor do subdomínio. |
instance |
A instância do servidor de API, encontrada no URL depois de fazer login no aplicativo Salesforce Marketing Cloud. O valor da instância inclui "s" seguido por um valor numérico. Por exemplo, no URL "https://mc.s4.exacttarget.com/", o valor da instância é "s4". Para mais informações, consulte Encontrar o local da pilha de uma conta do Marketing Cloud. |
clientId |
O ID do cliente da integração da API. Acesse Configuração > Apps > Pacotes instalados e clique no nome do pacote. O ID do cliente está listado em Componentes. |
clientSecret |
A chave secreta do cliente de integração do app. Acesse Configuração > Apps > Pacotes instalados e clique no nome do pacote. A chave secreta do cliente está listada em Componentes. |
Configurar uma lista de permissão de IP para transferências do Salesforce Marketing Cloud
É necessário configurar seu ambiente Google Cloud e sua conta do Salesforce Marketing Cloud para adicionar endereços IP específicos à lista de permissões para transferências de dados. Isso garante que o Salesforce Marketing Cloud só aceite conexões de um endereço IP estático e confiável.
Para isso, primeiro configure sua rede Google Cloud para usar um endereço IP estático:
- Configure uma conversão de endereços de rede (NAT) pública com um endereço IP estático na sua rede de nuvem privada virtual. O CloudNAT precisa ser configurado na mesma região que o conjunto de dados de destino para essa transferência.
- Configure um anexo de rede na mesma rede VPC. Esse recurso é usado pelo serviço de transferência de dados do BigQuery para acessar serviços particulares.
Em seguida, adicione o endereço IP estático à lista de permissões no Salesforce Marketing Cloud. Ao adicionar o intervalo de endereços IP, use o endereço IP estático do seu NAT públicoGoogle Cloud para os endereços IP inicial e final do intervalo.
Depois de configurar os intervalos de IP, especifique o IP estático ao configurar a transferência. Para isso, selecione a vinculação de rede no campo Vinculação de rede.
Instalar e configurar o pacote de integração da API do Salesforce Marketing Cloud
Você precisa instalar um pacote de integração de API de servidor para servidor no Salesforce Marketing Cloud. Para fazer isso no Salesforce Marketing Cloud, instale um novo pacote instalado e especifique o componente Integração de API > De servidor para servidor. Para mais informações, consulte Criar e instalar pacotes.
Depois de instalar o pacote de integração da API, adicione os seguintes escopos de permissões:
- Acesso:
Offline Access
- E-mail:
Read
- OTT:
Read
- Push:
Read
- SMS:
Read
- Web:
Read
- Documentos e imagens:
Read
- Conteúdo salvo:
Read
- Trajetos:
Read
- Públicos-alvo:
Read
- Lista e inscritos:
Read
- Extensões de data:
Read
- Locais do arquivo
Read
- Eventos de rastreamento:
Read
- Callbacks:
Read
- Assinaturas:
Read
- Campanha:
Read
- Recursos:
Read
- Contas:
Read
- Canais OTT:
Read
- Usuários:
Read
Para mais informações, consulte Escopos de permissão de integração da API.
Pré-requisitos do BigQuery
- Verifique se você realizou todas as ações necessárias para ativar o serviço de transferência de dados do BigQuery.
- Crie um conjunto de dados do BigQuery para armazenar os dados.
- Se quiser configurar notificações de execução de transferência do Pub/Sub,
verifique se você tem a permissão
pubsub.topics.setIamPolicy
do Identity and Access Management (IAM). As permissões do Pub/Sub não serão necessárias caso você configure notificações por e-mail. Para mais informações, consulte Notificações de execução do serviço de transferência de dados do BigQuery.
Papéis obrigatórios do BigQuery
Para receber as permissões necessárias para criar uma transferência de dados do serviço de transferência de dados do BigQuery,
peça ao administrador para conceder a você o papel do IAM
Administrador do BigQuery (roles/bigquery.admin
)
no seu projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para criar uma transferência de dados do serviço de transferência de dados do BigQuery. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para criar uma transferência de dados do serviço de transferência de dados do BigQuery:
-
Permissões do serviço de transferência de dados do BigQuery:
-
bigquery.transfers.update
-
bigquery.transfers.get
-
-
Permissões do BigQuery:
-
bigquery.datasets.get
-
bigquery.datasets.getIamPolicy
-
bigquery.datasets.update
-
bigquery.datasets.setIamPolicy
-
bigquery.jobs.create
-
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Para mais informações, consulte Conceder acesso ao bigquery.admin
.
Configurar uma transferência de dados do Salesforce Marketing Cloud
Adicione dados do Salesforce Marketing Cloud ao BigQuery configurando uma configuração de transferência usando uma das seguintes opções:
Console
Acesse a página "Transferências de dados" no console Google Cloud .
Clique em
Criar transferência.Na seção Tipo de origem, em Origem, selecione Salesforce Marketing Cloud.
Na seção Detalhes da fonte de dados, faça o seguinte:
- Em Subdomínio da API, insira o subdomínio do URI base de autenticação.
- Em Instância da API, insira a instância da API do URL depois de fazer login no aplicativo Marketing Cloud.
- Em ID do cliente, insira o ID do cliente do pacote de integração da API.
- Em Chave secreta do cliente, insira a chave secreta do cliente do pacote de integração da API.
Na seção Configurações de destino, em Conjunto de dados, selecione o conjunto de dados que você criou para armazenar seus dados.
No campo Nome de exibição da seção Nome de configuração da transferência, insira um nome para a transferência de dados.
Na seção Opções de programação, realize estas ações:
- Na lista Frequência de repetição, selecione uma opção para especificar com que frequência essa transferência de dados é executada. Para especificar uma frequência de repetição personalizada, selecione Personalizada. Se você selecionar Sob demanda, essa transferência será executada quando você acionar manualmente a transferência.
- Se aplicável, selecione Começar agora ou Começar no horário definido e escolha uma data de início e hora de execução.
Opcional: na seção Opções de notificação, faça o seguinte:
- Para ativar as notificações por e-mail, clique no botão que ativa as Notificações por e-mail. Quando essa opção está ativada, o administrador da transferência recebe uma notificação por e-mail quando uma execução da transferência falha.
- Para ativar as notificações de execução de transferência do Pub/Sub para essa transferência, clique no botão de alternância Notificações do Pub/Sub. Selecione o nome do tópico ou clique em Criar um tópico.
Clique em Salvar.
bq
Insira o comando bq mk
e forneça a sinalização de execução da transferência
--transfer_config
.
bq mk --transfer_config --project_id=PROJECT_ID --data_source=DATA_SOURCE --display_name=DISPLAY_NAME --target_dataset=DATASET --params='PARAMETERS'
Substitua:
- PROJECT_ID (opcional): o ID do projeto do Google Cloud .
Se
--project_id
não for fornecido para especificar um projeto determinado, o projeto padrão será usado. - DATA_SOURCE: a fonte de dados (por exemplo,
saphana
). - DISPLAY_NAME: o nome de exibição da configuração da transferência. O nome da transferência de dados pode ser qualquer valor que permita identificá-la, caso você precise modificá-la mais tarde.
- DATASET: o conjunto de dados de destino na configuração da transferência.
- PARAMETERS é o parâmetro da configuração de transferência criada no formato JSON. Por exemplo,
--params='{"param":"param_value"}'
. Confira a seguir os parâmetros de uma transferência do Salesforce Marketing Cloud:connector.subdomain
: o subdomínio da API.connector.instance
: o valor da instância da API.connector.authentication.oauth.clientId
: o nome do ID do app para o cliente OAuth.connector.authentication.oauth.clientSecret
: a chave secreta do app para o cliente OAuth.
Por exemplo, o comando a seguir cria uma transferência de dados do Salesforce Marketing Cloud no projeto padrão com todos os parâmetros necessários:
bq mk --transfer_config --target_dataset=mydataset --data_source=salesforce_marketing --display_name='My Transfer' --params='{"connector.subdomain": "abcd", "connector.instance": "x", "connector.authentication.oauth.clientId": "1234567890", "connector.authentication.oauth.clientSecret":"ABC12345"}'
API
Use o método
projects.locations.transferConfigs.create
e forneça uma instância do recurso
TransferConfig
.
Quando você salva a configuração de transferência, o conector do Salesforce Marketing Cloud aciona automaticamente uma execução de transferência de acordo com a opção de programação. A cada execução de transferência, o conector do Salesforce Marketing Cloud transfere todos os dados disponíveis do Salesforce Marketing Cloud para o BigQuery nas seguintes tabelas com base na interface REST:
Assets
CampaignAssets
Campaigns
Categories
EventDefinitions
FacebookMessengerProperties
JourneyActivities
Journeys
LineMessengerProperties
SendDefinitions
Subscriptions
DataExtension
Email
LinkSend
List
ListSubscriber
Subscriber
TriggeredSendDefinition
Para executar manualmente uma transferência de dados fora da sua programação regular, inicie uma execução de preenchimento.
Mapeamento de tipo de dados
A tabela a seguir mapeia os tipos de dados do Salesforce Marketing Cloud para os tipos de dados correspondentes do BigQuery.
Tipo de dados do Salesforce Marketing Cloud | Tipo de dados do BigQuery |
---|---|
Boolean |
BOOLEAN |
Number |
INTEGER |
Text |
STRING |
Decimal |
FLOAT |
EmailAddress |
STRING |
Phone |
STRING |
date |
DATE |
Date |
TIMESTAMP |
Resolver problemas na configuração da transferência
Se você estiver com problemas para configurar uma transferência de dados do Salesforce Marketing Cloud, tente as seguintes etapas de solução de problemas:
- Verifique se a autenticação configurada para o pacote de integração da API está configurada como De servidor para servidor.
- Verifique se o app de autenticação está configurado com as permissões necessárias em Escopo.
Mensagens de erro
- Erro:
invalid_grant. The client's IP address is unauthorized for this account. Allowlist the client's IP address in Marketing Cloud Administration.
Resolução: tente uma das seguintes etapas:
- Ative todos os endereços IP disponíveis para recursos do Google Cloud .
- Desative a lista de permissões de IP. Para isso, faça login no aplicativo Salesforce Marketing Cloud e navegue até a página Configuração > Configurações de segurança. Clique em Editar e configure a configuração Restringir logins por endereço IP (lista de permissões de IP) como Lista de permissões de IP desativada.
- Erro:
INVALID_ARGUMENT. Table tableName does not exist in asset TableName
Resolução: verifique se você tem as permissões de escopo corretas configuradas no aplicativo Salesforce Marketing Cloud. Para mais informações, consulte Pré-requisitos do Salesforce Marketing Cloud.
Preços
Não há custo para transferir dados do Salesforce Marketing Cloud para o BigQuery enquanto esse recurso está em Pré-lançamento.
A seguir
- Para uma visão geral do serviço de transferência de dados do BigQuery, consulte Introdução ao serviço de transferência de dados do BigQuery.
- Para mais informações sobre o uso de transferências de dados, incluindo detalhes sobre a configuração de transferência, como listar configurações e como visualizar o histórico de execução de uma transferência, consulte Como trabalhar com transferências.
- Saiba como carregar dados com operações entre nuvens.