StreamSets SDK for Python 6.6: Mehr Leistung, mehr Kontrolle und mehr Zusammenarbeit

Zwei Personen an einem Schreibtisch, die an einem Laptop arbeiten und beide lächeln

Autor

John Wen

Product Manager

IBM Data Integration

StreamSets SDK for Python 6.6 enthält zahlreiche leistungsstarke neue Funktionen, mit denen Benutzer ihre Datenintegrationspipelines einfacher als je zuvor programmgesteuert und in großem Umfang erstellen, sichern und verwalten können.

Mit dieser Version erweitern wir das SDK um drei Hauptfunktionen: die Suche nach akzeptablen Werten, die Unterstützung von Projekten und Regeln für den Netzwerkzugriff. Ganz gleich, ob Sie Pipelines von Grund auf neu aufbauen, StreamSets teamübergreifend skalieren oder den Zugriff nach IP sichern, 6.6 bietet Ihnen die Werkzeuge, die Sie benötigen, alles im Code.

Verwenden der neuen Methode für akzeptable Werte

Das Erstellen von Pipelines über das SDK ist jetzt noch einfacher. Bisher mussten Benutzer, die Pipelinedefinitionen in Python skripten, auf die Benutzeroberfläche oder die Dokumentation verweisen, um zu bestimmen, welche Werte für bestimmte Phasenkonfigurationen gültig waren, insbesondere wenn Dropdowns in der Benutzeroberfläche die einzige Quelle der Wahrheit waren.

Mit der neuen Methode für akzeptable Werte können Sie mit dem SDK alle gültigen Werte für ein bestimmtes Konfigurationsfeld programmgesteuert abfragen. Dies macht die Erstellung dynamischer Pipelines und die Integration von StreamSets in benutzerdefinierte Tools zuverlässiger, testbarer und schneller.

Kein Versuch und Irrtum mehr. Nur gültige Konfigurationen, jedes Mal.

streamsets sdk Screenshot

In der Benutzeroberfläche werden die Konfigurationsoptionen für die einzelnen Felder deutlich gemacht.

streamsets sdk example

Mit dem SDK können wir nun die akzeptablen Werte für jede Phase abfragen:

Beispiel: Abfragen von akzeptablen Werten

# Get stage name from existing stage 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"

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

# Get options
pipeline_builder.get_stage_configuration_options(config_name="JSON Content", stage_name=stage_name_ui)
# Returned options >>
[ChooseOption(UI_VALUE='JSON array of objects', SDK_VALUE='ARRAY_OBJECTS'), ChooseOption(UI_VALUE='Multiple JSON objects', SDK_VALUE='MULTIPLE_OBJECTS')]

Projektunterstützung: Bringen Sie Ordnung in das StreamSets-Universum

Die Verwaltung der Entwicklung durch mehrere Teams in einer gemeinsamen Umgebung war früher eine Herausforderung.  Ohne Isolierung kann die Zusammenarbeit schnell ins Chaos stürzen.

Mit der Einführung von Projekten in das SDK können Sie nun Projekte, die integrierten kollaborativen Arbeitsbereiche von StreamSets, programmatisch erstellen, organisieren und verwalten, ohne die Benutzeroberfläche verwenden zu müssen. Jedes Projekt bietet eine saubere Grenze für die Pipelines, Verbindungen, Aufträge und Assets Ihres Teams. Projekte verwandeln StreamSets in eine mandantenfähige, unternehmenstaugliche Plattform. Kunden gewinnen Klarheit, Sicherheit und Skalierbarkeit, ohne mehrere Instanzen bereitstellen zu müssen.

Eine Instanz. Viele Teams. Keine Reibung.

streamsets sdk – Screenshot „Ein Projekt erstellen“.

Beispiel: Verwalten von Projekten

# Create a new project
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)

# Switch to the project
sch.current_project = project

# Add a user and group to the project
project.add_user(‘John’)
project.add_group(‘Product Management’)

# Update project details
project.name = 'New Marketing Campaign'
sch.update_project(project)

# Delete the project
sch.delete_project(project)

Netzwerkzugriffsregeln: Sicher durch Design

Sicherheit sollte niemals nur eine UI-Operation sein.

StreamSets SDK for Python 6.6 führt eine vollständige Verwaltung von Netzwerkzugriffsregeln ein und bietet Ihnen Zugriff auf API-Ebene, um den Satz von IPs zu definieren und zu bearbeiten, die sich bei Ihrer StreamSets-Umgebung authentifizieren dürfen.

Ganz gleich, ob Sie das Onboarding automatisieren, StreamSets in Hybrid Clouds bereitstellen oder Netzwerkrichtlinien durchsetzen, mit dem SDK können Sie die Sicherheit jetzt mit der gleichen Disziplin verwalten wie den Rest Ihrer Infrastruktur.

Definieren. Durchsetzen. Automatisieren. Alles über Code.

streamsets sdk – Screenshot: Netzwerkzugriffsregeln

SDK-Beispiel: Verwalten von Netzwerkzugriffsregeln

# Selecting a Control Hub organization
org = sch.organizations[0]

# Check if network access rule has been enabled. Returns True or False
org.ip_auth_enabled

# Enabling IP Auth
org.ip_auth_enabled = True

# To see the current set of rules
org.ip_auth_rules

# Adding & removing IP rules
# 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”,)

# Remember to update organization after making the change
sch.update_organization(org)

Ein Fortschritt in der Entwickler-Erfahrung

StreamSets SDK for Python 6.6 ist nicht nur eine Versionsänderung, sondern ein Fortschritt in Bezug auf Entwicklererfahrung, Skalierbarkeit für Unternehmen und Plattformautomatisierung. Diese Funktionen wurden als Reaktion auf das Feedback von Teams entwickelt, die Echtzeit-Datenflüsse in komplexen, regulierten Umgebungen verwalten. Und sie machen StreamSets noch skalierbarer, leistungsfähiger und unternehmenstauglicher.

Die SDK 6.6-Version ist ab sofort auf PyPI verfügbar. Eine Dokumentation und Beispielcode-Snippets sind in Kürze verfügbar, aber Sie können diese neuen Funktionen bereits in Ihrer bevorzugten IDE erkunden, indem Sie den unten stehenden pip-Befehl ausführen.

pip3 install streamsets~=6.6