StreamSets SDK for Python 6.6: Mais poder, mais controle e mais colaboração

Duas pessoas em uma mesa trabalhando em um notebook, ambas sorrindo

Autor

John Wen

Product Manager

IBM Data Integration

O StreamSets SDK for Python 6.6 vem com novas funcionalidades poderosas que tornam mais fácil do que nunca para os usuários compilar, proteger e gerenciar programaticamente seus pipelines de integração de dados em escala.

Com essa versão, estamos trazendo três importantes recursos para o SDK: pesquisa de valores aceitáveis, compatibilidade com projetos e regras de acesso à rede. Quer você esteja criando pipelines a partir do zero, dimensionando StreamSets entre equipes ou protegendo o acesso por IP, o 6.6 oferece as ferramentas de que você precisa, toda em código.

Uso do novo método de valores aceitáveis

Criar pipelines por meio do SDK ficou mais fácil. Até agora, os usuários que criavam definições de pipelines em Python tinham que consultar a IU ou a documentação para determinar quais valores eram válidos para certas configurações de estágios, especialmente quando os menus suspensos na IU eram a única fonte de verdade.

Com o novo método de valores aceitáveis, o SDK permite consultar programaticamente todos os valores válidos para um determinado campo de configuração. Isso torna a criação de pipelines dinâmicos e a integração de StreamSets a ferramentas personalizadas mais confiáveis, testáveis e rápidas.

Chega de tentativa e erro. Apenas configurações válidas, sempre.

captura de tela do streamsets sdk

Na interface do usuário, fica óbvia quais são as opções de configurações para cada campo.

exemplo do streamsets sdk

Com o SDK, agora podemos consultar quais são os valores aceitáveis para cada estágio:

Exemplo: consulta de valores aceitáveis

# Obter nome do estágio de estágio existente via SDK...
pipeline = sch.pipelines.get(name="SDK 6.6.0 Demo")
stage = pipeline.stages.get(label="Dev Raw Data Source 1")
stage_name = stage.stage_name
# >> 'com_streamsets_pipeline_stage_devtest_rawdata_RawDataDSource'

# ... or get it from UI
stage_name_ui = "Dev Raw Data Source 1"

# Obter objeto pipeline_builder
engine = sch.engines.get(id="d94f73b9-6e96-4545-bcbb-9e940c64bf84")
pipeline_builder = sch.get_pipeline_builder(engine_type='data_collector', engine_id=engine.id)

# Obter opções
pipeline_builder.get_stage_configuration_options(config_name="JSON Content", stage_name=stage_name_ui)
# Opções retornadas >>
[ChooseOption(UI_VALUE='JSON array of objects', SDK_VALUE='ARRAY_OBJECTS'), ChooseOption(UI_VALUE='Multiple JSON objects', SDK_VALUE='MULTIPLE_OBJECTS')]

Compatibilidade com projetos: leve ordem ao universo do StreamSets

Gerenciar o desenvolvimento de várias equipes em um ambiente compartilhado costumava ser um desafio.  Sem isolamento, a colaboração pode rapidamente se transformar em caos.

Com a introdução de  projetos no SDK, agora é possível criar, organizar e gerenciar programaticamente projetos, os espaços de trabalho colaborativos internos dos StreamSets, sem precisar usar a IU. Cada projeto fornece um limite limpo para os pipelines, conexões, trabalhos e ativos de sua equipe. Os projetos transformam o StreamSets em uma plataforma multilocatários e pronta para empresas. Os clientes têm clareza, segurança e escalabilidade sem precisar implementar várias instâncias.

Uma instância. Muitas equipes. Zero atrito.

captura de tela "Criar um projeto" do streamsets sdk

Exemplo: gerenciamento de projetos

# Criar um novo projeto
Project_builder = sch.get_project_builder()
project = project_builder.build(name='Marketing Campaign Attribution', description='Ingest ad impressions and clickstream data from multiple sources')
sch.add_project(project)

# Mudar para o projeto
sch.current_project = project

# Adicionar um usuário e um grupo ao projeto
project.add_user(‘John’)
project.add_group(‘Product Management')

# Atualizar detalhes

do projeto Project.name = 'New Marketing Campaign' sch.update_project(project)

# Excluir o projeto
sch.delete_project(project)

Regras de acesso à rede: segurança por design

A segurança nunca deve ser uma operação exclusiva da IU.

O StreamSets SDK for Python 6.6 introduz o gerenciamento completo das regras de acesso à rede , oferecendo acesso no nível da API para definir e editar o conjunto de IPs autorizados a autenticar no seu ambiente StreamSets.

Quer você esteja automatizando a integração, implementando StreamSets em nuvem híbrida ou impondo políticas de rede, o SDK agora permite que você gerencie a segurança com a mesma disciplina do restante de sua infraestrutura.

Defina. Imponha. Automatize. Tudo por meio de código.

captura de tela das regras de acesso à rede do streamsets sdk

Exemplo de SDK: gerenciamento de regras de acesso à rede

# Seleção de uma organização de hub de controle
org = sch.organizations[0]

# Verifique se a regra de acesso à rede foi ativada. Retorna Verdadeiro ou Falso
org.ip_auth_enabled

# Ativar Auth IP
org.ip_auth_enabled = True

# Ver o conjunto atual de regras
org.ip_auth_rules

# Adicionar e remover regras IP
# org.add_ip_auth_ruleset(ip, bitmask, comentário)
org.add_ip_auth_ruleset(“33.45 .231.23”, “32”, “home”)
org.remove_ip_auth_ruleset(33.45.231.23”, “32”,)

# Lembre-se de atualizar a organização após fazer a alteração
sch.update_organization(org)

Um passo à frente na experiência do desenvolvedor

O StreamSets SDK for Python 6.6 não é apenas um salto de versão, é um passo à frente em experiência de desenvolvedor, escalabilidade empresarial e automação de plataforma. Essas funcionalidades foram desenvolvidas em resposta ao feedback das equipes que gerenciam fluxos de dados em tempo real em ambientes complexos e regulamentados. E tornam os StreamSets ainda mais escaláveis, poderosos e prontos para empresas.

A versão do SDK 6.6 já está disponível no PyPI. A documentação e trechos de código de amostra estarão disponíveis em breve, mas você já pode começar a explorar essas novas funcionalidades em seu IDE favorito executando o comando pip abaixo.

pip3 install streamsets~=6.6