StreamSets SDK for Python 6.6 : Plus de puissance, plus de contrôle et plus de collaboration

Deux personnes à un bureau travaillant sur un ordinateur portable, toutes deux souriantes

Auteur

John Wen

Product Manager

IBM Data Integration

StreamSets SDK for Python 6.6 regorge de nouvelles fonctionnalités puissantes qui facilitent plus que jamais la création, la sécurisation et la gestion par programmation de leurs pipelines d’intégration de données à grande échelle.

Avec cette version, nous apportons 3 fonctionnalités majeures au SDK : la recherche de valeurs acceptables, la prise en charge de projets et les règles d'accès au réseau. Qu’il s’agisse de créer des pipelines à partir de zéro, de faire évoluer les StreamSets entre les équipes ou de sécuriser l’accès par IP, 6.6 vous offre tous les outils en code.

Utiliser la nouvelle méthode des valeurs acceptables

La création de pipelines via le SDK se facilité. Jusqu’à présent, les utilisateurs qui écrivaient les définitions de pipeline en Python devaient faire référence à l’interface utilisateur ou à la documentation pour déterminer quelles valeurs étaient valides pour certaines configurations d’étape, en particulier lorsque les menus déroulants dans l’interface utilisateur étaient la seule source d’information.

Avec la nouvelle méthode des valeurs acceptables, le SDK vous permet d’interroger par programmation toutes les valeurs valides pour un champ de configuration donné. Cela rend la création de pipelines dynamiques et l’intégration de StreamSets dans des outils personnalisés plus fiables, testables et plus rapides.

Finis les essais et les erreurs. Des configurations valides, à chaque fois.

streamsets sdk Capture d’écran

Dans l’interface utilisateur, les options de configuration sont évidentes pour chaque champ.

exemple de sdk streamsets

Avec le SDK, nous pouvons désormais déterminer les valeurs acceptables pour chaque étape :

Exemple : requête des valeurs acceptables

# Récupérer le nom de la phase à partir de l’étape existante via le 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)

# Obtenir les 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')]

Prise en charge des projets : mettre de l’ordre dans l’univers StreamSets

Gérer le développement de plusieurs équipes dans un environnement partagé était auparavant un défi.  Sans isolation, la collaboration pourrait rapidement se transformer en chaos.

Avec l’introduction des projets dans le SDK, vous pouvez désormais créer, organiser et gérer des projets, les espaces de travail collaboratifs intégrés de StreamSets, sans avoir à utiliser l’interface utilisateur. Chaque projet fournit une limite claire pour les pipelines, les connexions, les tâches et les actifs de votre équipe. Les projets transforment les StreamSets en une plateforme multi-locataire adaptée à l'entreprise. Les clients bénéficient d’une clarté, d’une sécurité et d’une évolutivité sans avoir à déployer plusieurs instances.

Une instance. De nombreuses équipes. Sans friction.

Capture d'écran de streamsets sdk « Créer un projet »

Exemple : gestion des projets

# Créer un nouveau projet
product_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)

# Passer au projet
sch.current_project = project

# Ajouter un utilisateur et un groupe au projet
project.add_user(‘John’)
project.add_group(‘Product Management’)

# Mettre à jour les détails du projet
project.name = 'New Marketing Campaign'
sch.update_project(project)

# Supprimer le projet
sch.delete_project(project)

Règles d’accès au réseau : sécurisé dès la conception

La sécurité ne doit jamais se limiter à l’interface utilisateur.

StreamSets SDK for Python 6.6 introduit une gestion complète des règles d’accès au réseau, vous donnant un accès au niveau de l’API pour définir et modifier l’ensemble des adresses IP autorisées à s’authentifier auprès de votre environnement StreamSets.

Qu’il s’agisse d’automatiser l’intégration, de déployer des StreamSets dans les clouds hybrides ou d’appliquer des politiques réseau, le SDK vous permet désormais de gérer la sécurité avec la même discipline que le reste de votre infrastructure.

Définir. Appliquer. Automatiser. Grâce au code.

Capture d'écran des règles d'accès réseau streamsets sdk

Exemple de SDK : gestion des règles d’accès au réseau

# Sélection d'une organisation de centre de contrôle
org = sch.organizations[0]

# Vérifiez si la règle d'accès réseau a été activée. Retours Vrai ou faux
org.ip_auth_enabled

# Enabling IP Auth
org.ip_auth_enabled = True

# Pour consulter l'ensemble des règles actuelles
org.ip_auth_rules

# Ajout et suppression de règles 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”,)

# Pensez à mettre à jour l'organisation après avoir effectué la modification
sch.update_organization(org)

Une avancée dans l’expérience des développeurs

StreamSets SDK for Python 6.6 n'est pas seulement une évolution de version, c'est un pas en avant dans l'expérience du développeur, l'évolutivité de l'entreprise et l'automatisation de la plateforme. Ces fonctionnalités ont été développées en réponse aux commentaires des équipes gérant des flux de données en temps réel dans des environnements complexes et réglementés. Et elles rendent les StreamSets encore plus évolutifs, puissants et adaptés à l’entreprise.

La version SDK 6.6 est désormais disponible sur PyPI. La documentation et des extraits de code seront bientôt disponibles, mais vous pouvez déjà commencer à explorer ces nouvelles fonctionnalités dans votre IDE préféré en exécutant la commande pip ci-dessous.

pip3 install streamsets~=6.6