StreamSets SDK per Python 6.6: Più potenza, più controllo e più collaborazione

Due persone sedute a una scrivania che lavorano su un laptop, entrambe sorridenti

Autore

John Wen

Product Manager

IBM Data Integration

StreamSets SDK for Python 6.6 è ricco di nuove caratteristiche che rendono più facile che mai per gli utenti creare, proteggere e gestire in modo programmatico le proprie pipeline di integrazione dei dati su larga scala.

Con questa versione, stiamo aggiungendo 3 funzionalità principali all'SDK: ricerca di valori accettabili, supporto per i progetti e regole di accesso alla rete. Che tu stia creando pipeline da zero, scalando StreamSets tra i team o proteggendo l'accesso tramite IP, la versione 6.6 ti offre gli strumenti di cui hai bisogno, tutto nel codice.

Utilizzo del nuovo metodo dei valori accettabili

La creazione di pipeline tramite l'SDK è diventata più semplice. Fino ad ora, gli utenti che scrivevano le definizioni delle pipeline in Python dovevano fare riferimento all'interfaccia utente o alla documentazione per determinare quali valori fossero validi per determinate configurazioni di fase, soprattutto quando i menu a discesa nell'interfaccia utente erano l'unica fonte di verità.

Con il nuovo metodo dei valori accettabili, l'SDK consente di eseguire query a livello di codice su tutti i valori validi per un determinato campo di configurazione. Ciò rende la creazione di pipeline dinamiche e l'integrazione di StreamSet in strumenti personalizzati più affidabili, testabili e veloci.

Niente più tentativi ed errori. Solo configurazioni valide, ogni volta.

schermata di streamsets sdk

Nell'interfaccia utente viene reso evidente quali sono le opzioni di configurazione per ogni campo.

esempio di streamsets sdk

Con l'SDK possiamo ora interrogare quali sono i valori accettabili per ogni fase:

Esempio: interrogazione dei valori accettabili

# Ottieni il nome dello stage esistente tramite 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'

# ... oppure ottienilo dall'UI
stage_name_ui = "Dev Raw Data Source 1"

# Ottieni oggetto 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)

# Ottieni opzioni
pipeline_builder.get_stage_configuration_options(config_name="JSON Content", stage_name=stage_name_ui)
# Opzioni restituite >>
[ChooseOption(UI_VALUE='JSON array of objects', SDK_VALUE='ARRAY_OBJECTS'), ChooseOption(UI_VALUE='Multiple JSON objects', SDK_VALUE='MULTIPLE_OBJECTS')]

Supporto ai progetti: fai ordine nell'universo di StreamSets

Gestire lo sviluppo multi-team in un ambiente condiviso era in passato una sfida.  Senza isolamento, la collaborazione potrebbe trasformarsi rapidamente in caos.

Con l'introduzione dei progetti nell'SDK, ora puoi creare, organizzare e gestire in modo programmatico progetti, spazi di lavoro collaborativi integrati di StreamSets senza dover utilizzare l'interfaccia utente. Ogni progetto fornisce un confine netto per le pipeline, le connessioni, i lavori e le risorse del tuo team. I progetti trasformano StreamSets in una piattaforma multi-tenant pronta per l'azienda. I clienti ottengono chiarezza, sicurezza e scalabilità senza dover implementare più istanze.

Una istanza. Molti team. Zero attrito.

Schermata "Crea un progetto" sdk streamsets

Esempio: gestione dei progetti

# Crea un nuovo progetto
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)

# Passa al progetto
sch.current_project = project

# Aggiungi un gruppo e un utente al progetto
project.add_user(‘John’)
project.add_group(‘Product Management’)

# Aggiorna i dettagli del progetto
project.name = 'New Marketing Campaign'
sch.update_project(project)

# Elimina il progetto
sch.delete_project(project)

Regole di accesso alla rete: sicuro fin dalla progettazione

La sicurezza non deve mai essere un'operazione solo dell'interfaccia utente.

StreamSets SDK for Python 6.6 introduce la gestione completa delle regole di accesso alla rete, dandoti l'accesso a livello di API per definire e modificare il set di IP autorizzati all'autenticazione con il tuo ambiente StreamSets.

Che tu stia automatizzando l'onboarding, implementando StreamSets su cloud ibridi o applicando policy di rete, l'SDK ora ti consente di gestire la sicurezza con la stessa disciplina del resto della tua infrastruttura.

Definisci. Applica. Automatizza. Tutto tramite codice.

schermata delle regole di accesso alla rete dello streamsets sdk

Esempio di SDK: gestione delle regole di accesso alla rete

# Selezionare un'organizzazione Control Hub
org = sch.organizations[0]

# Controlla se la regola di accesso alla rete è stata abilitata. Restituisce Vero o Falso
org.ip_auth_enabled

# Abilitare IP Auth
org.ip_auth_enabled = True

# Per vedere le regole attuali
org.ip_auth_rules

# Aggiungere e rimuovere regole IP
# org.add_ip_auth_ruleset(ip, bitmask, comment)
org.add_ip_auth_ruleset(“33.45.231.23”, “32”, “home”)
org.remove_ip_auth_ruleset(33.45.231.23”, “32”,)

# Ricordati di aggiornare l'organizzazione dopo la modifica
sch.update_organization(org)

Un passo avanti nell'esperienza degli sviluppatori

StreamSets SDK for Python 6.6 non è solo un aumento di versione, è un passo avanti nell'esperienza degli sviluppatori, nella scalabilità aziendale e nell'automazione della piattaforma. Queste caratteristiche sono state create in risposta al feedback dei team che gestiscono i flussi di dati in tempo reale in ambienti complessi e regolamentati. E rendono StreamSets ancora più scalabile, potente e pronto per le aziende.

La versione SDK 6.6 è ora disponibile su PyPI. La documentazione e gli esempi di codice saranno presto disponibili, ma puoi già iniziare a esplorare queste nuove caratteristiche nel tuo IDE preferito eseguendo il comando pip qui sotto.

pip3 install streamsets~=6.6