top of page

SSIS - Criando do Zero uma integração com Python

  • Foto do escritor: Amanda Nascimento
    Amanda Nascimento
  • 30 de ago.
  • 3 min de leitura

🛠️Dentro do Visual Studio certifique-se que o Integration Services (SSDT para BI) está instalado no Visual Studio.

  • Vá em Extensões > Gerenciar Extensões e pesquise por Integration Services ou SSDT.

  • Instale, feche e reabra o Visual Studio se necessário.



Criar um novo projeto Integration Services


➡️Criar um novo projeto Integration Services

  1. Arquivo > Novo > Projeto...

  2. Procure por "Integration Services Project" ou em português "Projeto do Integration Services".

  3. Dê um nome para seu projeto (ex: CargaBancoInter), escolha a pasta e clique em Criar.


ree


Adicionar um pacote SSIS


➡️Se for a primeira vez que está utilizando o SSIS, vá até a guia Exibir e selecione:

Gerenciador de Soluções e Propriedades (irá aparecer do lado esquerdo, aproveite e deixe-o fixo).


Em Gerenciador de Soluções, o projeto já vem com um pacote padrão chamado Package.dtsx. Você pode renomear para algo mais descritivo, como nomeProjeto.dtsx (clique com o botão direito > Renomear).

ree



Adicionar uma tarefa para rodar um script em Python



No SSIS (Integration Services), NÃO existe uma tarefa nativa que permita escrever ou colar o código Python diretamente dentro do pacote (como se faz no Databricks ou em ferramentas de ETL mais modernas).O padrão do SSIS é executar scripts externos, ou seja, você precisa ter o script .py salvo em um caminho acessível pelo servidor (ou máquina de desenvolvimento).


Com isso, criei o arquivo: input_extrato_API_stage.py


ree

Dentro do visual Studio, ao lado esquerdo, clico na caixa de Ferramentas do SSIS e procuro por: Tarefa Executar Processo. Dê dois cliques na caixa "Tarefa Executar Processo" para abrir as configurações.


ree


No editor da Tarefa Executar Processo...

Em Geral você pode inserir o nome e a descrição. (Lembre-se que outra pessoa pode pegar o projeto para manutenção e precisa entender o que esta sendo feito.)

ree

Na aba Processos é onde definimos o que será executado.

Em executável: Caminho do executável do Python, ou seja, onde o python esta instalado.

Se você não souber, abra o cmd e digite where python e verá o caminho.


Em Argumentos é o caminho completo do script Python entre aspas, com o nome do arquivo que criamos em python.


Em Diretório de trabalho: Caminho da pasta onde está o script (sem o nome do arquivo).

ree

Aba "Expressões"

Só use se quiser que os campos acima mudem dinamicamente (usando variáveis do SSIS).Para seu caso, pode deixar em branco agora.


Clique em Ok, e depois com o botão direito, clique em Executar Tarefa e se não tiver nenhum erro no script, será executado com sucesso e ficará em verde.

ree

##################################################################



Adicionar um container


Os containers servem para organizar e controlar a execução de várias tarefas. Como vimos anteriormente, para rodar um simples script em Python, não é obrigatório criar um container, mas para incluir várias tarefas e manter organizado, se faz necessário a utilização deles. O tipo de container que você pode utilizar, vai depender muito do seu objetivo, então não existe uma receita de bolo... Tudo depende da necessidade de negócio. Você não é obrigado, mas é uma boa prática usar containers, principalmente para projetos maiores ou que vão crescer.




Tipos de Containers no SSIS



  • Sequência de Contêiner (Sequence Container)

    • Permite agrupar várias tarefas que devem ser executadas em sequência, como se fosse um "bloco".

    • Ideal para organizar fases do seu processo: por exemplo, um container para Extração, outro para Carga.

  • Contêiner de Loop Foreach (Foreach Loop Container)

    • Executa um conjunto de tarefas repetidas vezes, útil para processar múltiplos arquivos ou chamadas.

  • Contêiner de Loop For (For Loop Container)

    • Executa até que uma condição seja satisfeita.



Como no momento só vou rodar um script, adicionei apenas o container de sequência com a tarefa de rodar Python dentro dele.


Depois, que for expandindo e organizando vou criando de acordo com a necessidade.

ree

© 2017-2025  Criado e desenvolvido por Amanda Nascimento

  • Discord
  • GitHub
  • youtube
  • LinkedIn Amanda
bottom of page