Como compartilhar informações entre pipelines
Quando você precisa compartilhar variáveis de ambiente ou configurações entre diferentes pipelines, o uso de bancos de dados como o SQLite ou arquivos de configuração é uma solução prática e eficiente. Essa abordagem é ideal para armazenar informações temporárias ou de pequeno porte, garantindo simplicidade e escalabilidade.
Compartilhando dados com banco de dados
O uso de bancos de dados leves (SQLite) é recomendado para configurações temporárias ou dados compartilhados entre etapas, o que reduz a dependência de variáveis.
Usando SQLite
- O SQLite oferece flexibilidade aos usuários por permitir adicionar, modificar ou remover parâmetros sem alterações diretas nas pipelines; permite centralizar os dados compartilhados e torna-os acessiveis para múltiplas pipelines e; eficiência pois substitui o uso excessivo de variáveis de ambiente, evitando erros e limitações de tamanho.
import sqlite3
def save_parameters():
conn = sqlite3.connect('shared_parameters.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS parameters (
key TEXT PRIMARY KEY,
value TEXT
)
''')
parameters = [
("api_key", "123abc"),
("batch_size", "100"),
("threshold", "0.8")
]
cursor.executemany('INSERT OR REPLACE INTO parameters (key, value) VALUES (?, ?)', parameters)
conn.commit()
conn.close()
save_parameters()
print("Parâmetros salvos com sucesso!")
Compartilhando configurações com arquivos
Se a persistência dos dados for simples, um arquivo de configuração (como JSON ou YAML) também pode ser utilizado. Ele é especialmente útil para valores que não mudam com frequência, como credenciais ou limites padrão.
Usando arquivo json
- Arquivos de configuração JSON são simples, flexíveis e portáteis, pois permitem armazenar variáveis de ambiente de forma organizada e legível.
- São ideais para configurações estáticas, pois não requerem infraestrutura adicional e podem ser facilmente versionados e compartilhados entre sistemas.
import json
# Salvando parâmetros em um arquivo JSON
with open('parameters.json', 'w') as f:
json.dump({"api_key": "123abc", "batch_size": 100, "threshold": 0.8}, f)
# Carregando parâmetros do arquivo JSON
with open('parameters.json', 'r') as f:
parameters = json.load(f)
print("Parâmetros carregados:", parameters)
Quando usar SQLite ou arquivos de configuração?
O uso do SQLite é ideal para casos em que múltiplas pipelines precisam acessar dados compartilhados e existe possibilidade de alterações dinâmicas nos parâmentros. Por outro lado, os arquivos de configuração são melhor empregados em configurações mais estáticas ou simples, que não são atualizados com frequência.
Updated 7 days ago