Automatização com o Data Loader

Automatização com o Data Loader pode ser uma das ferramentas mais poderosas que você vai utilizar no seu dia a dia, por isso aprender a utilizá-la pode fazer toda a diferença nas suas tarefas e forma de manipular os dados da sua organização, o Data Loader é uma ferramenta que entre muitas coisas te permite inserir, ler, atualizar e excluir registros em massa, vou te mostrar como tirar proveito disso hoje utilizando um computador com Windows para criar seus processos automatizados.

Se você ainda não sabe o que é o Data Loader, dê uma olhada nesse post que falei sobre como instalar e usar de maneira simples o Data Loader, se você ja conhece e deseja fazer uma automatização com o Data Loader, então você está no lugar certo, podemos tornar o Data Loader um integrador automático utilizando o Task Scheduler( Agendador de Tarefas), no windows podemos criar Arquivo.Bat (Arquivo em lotes) para executar de pequenas tarefas a processos complexos, e programas e feito isso podemos unir os 2 para agendar nossa Bat para que ela execute em determinados horários, com determinados parâmetros, é uma ferramenta simples mas ao mesmo tempo muito poderosa, agora que você sabe o que é o Bat, vamos ao que interessa?

1. Criptografando sua senha

  1. Já com o Data Loader Instalado antes de mais nada vamos precisar da senha do usuário criptografada, vá para a pasta do Data Loader *uma maneira simples é botão direito no atalho e escolher a opção Abrir local do arquivo*. Dentro da pasta, procure pela pasta “bin” dentro dela você encontrará um arquivo chamado “encrypt.bat” é ele quem vai criptografar a senha de acesso, copie o caminho da pasta bin.
  2. Abra o Prompt de Comandos “CMD”.
  3. Digite “cd caminho da pasta bin” onde está escrito caminho cole o caminho que copiou da pasta “bin”  e pressione enter.
  4. Digite o comando “encrypt.bat -k dataloader”. Será gerado um arquivo chamado dataloader na pasta, ele vai ser o arquivo chave que garante que sua senha está correta
  5. Agora digite o comando”: encrypt.bat -e SenhaUsuario caminho\dataLoader.key”. Onde caminho seria o caminho onde está o arquivo que foi criado anteriormente é SenhaUsuario seria sua senha que ele vai criptografar. Se você fez tudo corretamente, será gerado um código com vários caracteres, copie é guarde esse código em um bloco de notas pois iremos utilizá-lo em breve.

2. Montagem do arquivo de configuração .XML

Agora vamos montar um arquivo XML, na documentação oficial você encontrará a função completa de todos os comandos, mas aqui vou te mostrar os principais, neste caso vamo extrair alguns campos presentes no objeto em Caso.

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    <bean id="accountInsert" class="com.salesforce.dataloader.process.ProcessRunner" singleton="false">
        <description>Automatizando com o Data Loader</description>
        <property name="name" value="accountInsert"/>
        <property name="configOverrideMap">
            <map>
                <entry key="sfdc.debugMessages" value="true"/>
                <entry key="sfdc.debugMessagesFile" value="C:\DLTest\Log\dataloader.log"/>
                <!--<entry key="sfdc.endpoint" value="https://login .salesforce.com"/> -->
                <entry key="sfdc.endpoint" value="https://test.salesforce.com"/>
                <entry key="sfdc.username" value="admin@Org.org"/>
                <entry key="process.encryptionKeyFile" value="c:\dataloader\bin\dataloader.key"/>
                <entry key="sfdc.timeoutSecs" value="600"/>
                <entry key="sfdc.loadBatchSize" value="200"/>
                <entry key="sfdc.entity" value="Case"/>
                <entry key="sfdc.extractionRequestSize" value="500"/> 
                <entry key="sfdc.extractionSOQL" value="SELECT ID CreatedDate, CaseNumber, RecordType.Name FROM CASE WHERE CreateDate = YESTERDAY"/> 
                <entry key="process.operation" value="extract"/>
                <entry key="process.mappingFile" value="C:\DLTest\Command Line\Config\case.sdl"/>
                <entry key="dataAccess.type" value="csvWrite"/>
                <entry key="dataAccess.name" value="C:\DLTest\In\case.csv"/>
            </map>
        </property>
    </bean>
</beans>

Esse é o arquivo de configuração, base onde vamos alterar os principais comandos, você irá digitar sempre dentro das aspas do Value=”XXXX

<bean id="idCase"/> 
//Nome do processo bem importante para chamarmos ele no arquivo.bat que será agendado
<entry key="sfdc.endpoint" value="https://test.salesforce.com"/>  
//aqui colocamos a URL de acesso ao salesforce
<entry key="sfdc.username" value=" "/>  
//coloque seu usuário
<entry key="sfdc.password" value=" "/>  
//coloque sua senha criptografada
<entry key="process.encryptionKeyFile" value="C:\dataloader\bin\dataloader.key"/> 
//coloque aquele arquivo chamado dataloader a extensão dele é .key
<entry key="sfdc.entity" value="Case"/> 
//Qual objeto será utilizado
<entry key="sfdc.extractionRequestSize" value="500"/> 
//Quantidade de registros
<entry key="sfdc.extractionSOQL" value="SELECT ID CreatedDate, CaseNumber, RecordType.Name FROM CASE WHERE CreateDate = YESTERDAY" /> 
//aqui seria onde você vai dar o select se for uma extração de dados
<entry key="process.operation" value="extract"/> 
//O tipo de operação no caso Extract
<entry key="process.mappingFile" value="C:\dataloader\bin\mappingFile\CasesExportMap.sdl"/> 
//aqui seria o arquivo de mapeamento de campos. ele é montado igual o da imagem abaixo

Dentro dele, deve haver todos os campos que você irá extrair para o arquivo CSV ou que você vai utilizar para Inserir ou Atualizar, se preferir você pode criar um arquivo.txt é editar a extensão para .sdl

<entry key="dataAccess.type" value="csvWrite"/> 
//Aqui defimos oq ele vai fazer csvWrite ele vai escrever o resultado em um CSV&nbsp; quando vamos dar um Update ou um Insert seria um csvRead
<entry key="dataAccess.name" value="C:\dataloader\bin\Saida\casosExportados.csv"/> 
//aqui colocamos o nome do arquivo que será gerado ou que será lido pelo Dataloader

3. Criação do arquivo .bat para sua primeira automatização com o Data Loader 

Agora chegou a hora de criarmos o arquivo .bat que será executando no agendamento. Crie um arquivo de texto e digite dentro dele:

:run
process ExportCasos"C:\dataloader\conf" idCase
:end

 

Vermelho: Chamando o arquivo Process.Bat dentro da pasta bin
Azul: Nome do bat que acabou de criar
Verde: Caminho da pasta do dataloader/conf
Roxo: O nome do processo que você colocou dentro do seu arquivo .xml

4. Criar tarefa e agendar sua automatização com o Data Loader 

Feito isso, a parte do data loader está tudo OK., agora vamos ao agendador de tarefas do Windows para agendar a automatização com o Data Loader usando o nosso arquivo .bat

  1. Pressione “Win+R” para abrir o Executar, digite taskschd.msc e clique em “OK” para abrir o Agendador de Tarefas. Outra opção é procurar por “Agendador de Tarefas” na pesquisa ou no menu Iniciar do Windows.
  2. Uma vez aberto o Agendador de Tarefas, clique no menu “Ação > Criar Tarefa Básica“.
  3. Digite um nome e uma descrição para a tarefa que você está criando.
  4. Selecione quando ela será executada. Você pode executá-la diariamente, semanalmente, mensalmente, uma única vez, ao inicializar o computador, ao fazer o logon ou quando um evento específico for registrado.Nessa etapa é algo importante, aqui você irá definir a frequência que será executado esse processo, *se for mais de uma vez por dia coloque diariamente depois de criado você consegue colocar mais Disparadores de Tarefa*
  5. Dependendo da opção escolhida, ele irá solicitar que você defina um horário e a taxa de repetição.
  6. Na tela seguinte, escolha a opção “Iniciar um programa“.
  7. Em seguida, clique em “Procurar…” e selecione o arquivo executável (.BAT) que criamos no passo anterior.
  8. Por último, clique em “Concluir“.
  9. Se quiser testar a tarefa criada, clique em “Biblioteca do Agendador de Tarefas” na janela principal, encontre a tarefa criada, clique com o botão direito nela e selecione “Executar”.

 

Algumas pessoas utilizam o antigo Informatica Cloud que é pago por transação, essa é uma alternativa a zero custo, o Data Loader permite ainda que você automatize tarefas como Insert, Update, Upsert, Delete e tudo mais que você pode fazer com o Data Loader, você pode automatizar usando um .bat, mas agora vou deixar a imaginação de vocês criarem os novos cenários.

Até o próximo post.

 

Alef Ribeiro

Salesforce Developer at Check21.com

Técnico em Programação de jogos digitais pela Universidade São Judas Tadeu e me formando em Analise e Desenvolvimento de Sistemas pelo Instituto Federal de São Paulo.

Iniciei minha carreira de tecnologia com Desenvolvimento Front-end e de Game, em 2018 conheci a Salesforce onde mudei totalmente de carreira e estou focado em me tornar um Arquiteto Salesforce, atuei em diversos projetos desde sustentações classic até desenvolvimento em Lightning components para diversos clientes, onde fui de estagiário a pleno em menos de 1 ano.

Acompanhe meu trailhead aqui

 

AutomatizaçãoAutomatizadorAutomatizandoData LoaderDataloaderintegraçãoTarefas