top of page
Foto do escritorGabriel Quintella

Já precisou integrar algum dado com Salesforce?

Caro leitor e amigo tudo bem? Preciso fazer duas perguntas antes de iniciar esse tópico! Topa responder? Juro que será bem simples, as respostas serão SIM ou NÃO. Vamos lá!


Você conhece ou já ouviu falar do Salesforce?


Caso sua resposta tenha sido SIM, em algum momento você precisou realizar alguma integração de dados?


Viu, como foi rápido? Agora vou contar a motivação desse post.


Durante uma call, um amigo explicou que estava passando por dificuldades para realizar uma integração entre o seu ERP e o Salesforce. Olha que coincidência, na empresa em que trabalho, possuímos diversas integrações que funcionam muito bem!


Papo vai e papo vem, apresentei a nossa arquitetura, comentei sobre os problemas, desafios e evoluções nesse processo. Ele era 100% realizado realizado em ambiente OnPremise e quando passamos a utilizar o ambiente Cloud, ele passou a ser hibrido. Sofremos por um período quando fazíamos uso de um componente externo no SQL Server Integration Service (SSIS) e atualmente usamos o Azure Data Factory para levar os dados até o Salesforce, posso dizer que os problemas acabaram, ou melhor, agora são outros hahahaha.


Vamos embarcar nessa jornada e verificar como esse processo funciona?


Como dito anteriormente, trata-se de uma arquitetura hibrida, onde uma parte é processada no OnPremise (SSIS) e outra Cloud (Azure Data Factory).


  1. No OnPremise, realizamos todo processo de preparo dos dados. É onde realizamos a extração dos dados do ERP (SAP ECC) através do SAP BW, após essa etapa, é a vez do SSIS entrar em ação! Ele (o SSIS) é usado para processar arquivos gerados carregando na Staging Area. Nessa etapa não aplicamos nenhum tipo de transformação, apenas a transposição de arquivos em tabelas (mesma estrutura e datatypes). Na etapa seguinte (ODS), realizamos duas ações, primeiro normalizamos os dados e em seguida geramos os registros que serão criados/atualizados no Salesforce, terminando aqui a primeira etapa!

  2. Com a massa de dados pronta, entra em ação o Azure Data Factory. Uma etapa bem simples! Os dados processados na ODS são lidos e enviados para o Salesforce, somente isso!


Abaixo, uma ilustração macro da arquitetura descrita acima.



Todo o processo relatado acima, é executado todos os dias, buscando sempre manter os nossos dados atualizações.


Dando um passo atrás, vamos retornar ao foco desse post! Precisamos apresentar uma forma de integração com o Salesforce. Voltando os olhares apenas na segunda parte, ou seja, a integração do Azure Data Factory com o Salesforce.


Antes de abordar cada etapa, vou explicar o que será feito!


  1. Criação de parâmetros que serão usados para configurar os Dataset e os Linked Services;

  2. Criação de Linked Services parametrizados, pensado em reutilização, total de dois;

  3. Criação de Dataset também parametrizados e com o mesmo objetivo, total de dois;

  4. Criação de uma Pipeline, utilizaremos dois componentes (Set Variable e Copy Data);

  5. Definição de uma rotina de log de execução para mapear/tratar problemas ocorridos durante a integração.


Observe como que tudo isso funciona!


1 - Criação de Parâmetros

Definir os parâmetros que serão usados para configuração dos Linked Services e dos Datasets.



2 - Criação de Linked Services

Serão necessários dois, um para acessar o ambiente OnPremise (source) e outro para acesso o Salesforce (sink).



3 - Criação de Datasets

Também serão necessários dois, um para acessar o ambiente OnPremise (source) e outro para acesso o Salesforce (sink).




Essa prática de criar Linked Services e Datasets parametrizados ou genérico como alguns gostam de falar é uma prática extremamente útil e limpa para seu ambiente, além de auxiliar em rotinas de manutenção e administração permitindo também a sua reutilização!


4 - Criação da Pipeline

4.1 - Inclusão de Componente Set Variable


Esse componente irá auxiliar na configuração da nossa rotina de log.



4.2 - Componente Copy Data


Após a escolha dos Datasets de origem e destino o passo seguinte é o mapping dos campos.



5 - Criação de Rotina de Log em caso de expurgos

Essa etapa é muito importante pois caso algum dado não seja integrado, conseguimos identificar a causa e trata-la em um outro momento.



6 - Execução da Pipeline

Após a configuração, precisamos executar nossa pipeline!



Observando a imagem acima, é possível verificar que 200 registros foram enviados do OnPremise para o Salesforce onde 99 foram integrados com sucesso e 101 foram rejeitados por algum motivo.


Se o passo 5 não tivesse sido criado, como identificaríamos esses registros expurgados? Como tratar a causa do problema?


7 - Acessando o arquivo de log gerado para identificar o motivo dos expurgos de dados

Definimos que quando alguma inconsistência de dados fosse encontrada, um registro seria gerado com os dados rejeitados e o seu motivo de rejeito.


Caminho: 'swamp01/output/DADOS_CLIENTES/'


Para navegar até o arquivo gerado, basta buscar o ano, o mês e o dia do processamento, observe a imagem abaixo!



E por último, é possível visualizar os rejeitos! Basta acessar o diretório acima, realizar o download do arquivo, processar via Jupyter Notebook usando o Python e verificar o log.



Com isso conseguimos analisar que os dados foram rejeitados pelo mesmo motivo. Diante dessa informação, podemos tratar o problema e realizar o reprocessamento dos dados.


Finalizando aqui o nosso processo de integração!


É isso caro leitor, esse é o processo que realizo para integrar dados com o Salesforce.


Espero que gostem!





177 visualizações2 comentários

Posts recentes

Ver tudo

2件のコメント


Edmagno Gomes dos Santos
Edmagno Gomes dos Santos
2022年9月24日

Excelente post! Me ajudou muito. Obrigado por compartilhar, Gabriel!

いいね!
Gabriel Quintella
Gabriel Quintella
2022年9月25日
返信先

Muito obrigado pro Feedback!! Grande abraço, Quintellão!

いいね!
bottom of page