StreamSets SDK for Python 6.6:より大きなパワー、より高いコントロール、そしてより強力なコラボレーション

机に座ってノートPCで作業している2人は、どちらも笑顔です

著者

John Wen

Product Manager

IBM Data Integration

StreamSets SDK for Python 6.6は、これまで以上にユーザーがデータ統合パイプラインをプログラムで構築・保護・管理できるようにする強力な新機能を備えています。

このリリースでは、許容値検索、プロジェクトサポート、ネットワークアクセスルールという3つの主要な機能がSDKに導入されています。パイプラインをゼロから構築する場合でも、チーム間でStreamSetを拡張する場合でも、IPによるアクセスを保護する場合でも、6.6には必要なツールがすべてコード内で提供されます。

新しい許容値方式の使用

SDKによるパイプラインの構築がいっそう簡単になりました。これまで、Pythonでパイプライン定義をスクリプト化するユーザーは、特にUIのドロップダウンが信頼できる唯一の情報源である場合、特定のステージ構成で有効な値を判断するために、UIまたはドキュメンテーションを参照する必要がありました。

新しい許容値メソッドにより、SDKでは、特定の設定フィールドのすべての有効な値をプログラムで照会できます。これにより、動的なパイプラインを構築し、StreamSetsをカスタム・ツールに統合することが、より信頼性が高まり、テストしやすくなり、より迅速になります。

もう試行錯誤する必要はありません。いつでも適切な構成を。

streamsets sdkの製品の画面

UIでは、各フィールドの構成オプションが明確になります。

Streamsets SDKの例

SDKを使用すると、各段階の許容値を照会できるようになりました。

例:許容できる値の照会

# 既存のステージ名をSDK経由で取得します...
pipeline = sch.pipelines.get(name="SDK6.6.0Demo")
stage = pipeline.stages.get(label="Dev Raw Data Source 1")
stage_name = stage.stage_name
# >> 'com_streamsets_pipeline_stage_devtest_rawdata_RawDataDSource'

# ... あるいは、UIから取得します
stage_name_ui = "Dev Raw Data Source 1"

# 次に、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)

# オプションを取得します
pipeline_builder.get_stage_configuration_options(config_name="JSONContent", stage_name=stage_name_ui)
# 返されるオプション >>
[ChooseOption(UI_VALUE='JSON配列オブジェクト', SDK_VALUE='ARRAY_OBJECTS'), ChooseOption(UI_VALUE='複数のJSONオブジェクト', SDK_VALUE='MULTIPLE_OBJECTS')]

プロジェクトのサポート:StreamSetsの世界に秩序をもたらす

共有環境で複数チームの開発を管理することは、以前は困難でした。隔離がなければ、コラボレーションはすぐに大混乱に陥る可能性があります。

SDKでのプロジェクトの導入により、UIを使用することなく、StreamSetsの組み込み共同ワークスペースであるプロジェクトをプログラムで作成、整理、管理できるようになりました。各プロジェクトは、チームのパイプライン、接続、ジョブ、および資産にクリーンな境界を提供します。プロジェクトにより、StreamSetsはマルチテナントのエンタープライズ対応プラットフォームに変わります。お客様は、複数のインスタンスをデプロイする必要なく、明確さ、セキュリティー、拡張性を得ることができます。

1つのインスタンス。多くのチーム。摩擦ゼロ。

streamsets sdk "プロジェクトの作成"の製品の画面

例:プロジェクトの管理

# 新しいプロジェクトを作成します
project_builder = sch.get_project_builder()
project = project_builder.build(name='Marketing Campaign Attribution', description='広告インプレッションや複数ソースからのクリックストリームデータを取り込む')
sch.add_project(project)

# プロジェクトに切り替えます
sch.current_project = project

# ユーザーをプロジェクトに追加します
project.add_user(‘John’)
project.add_group(‘Product Management’)

# プロジェクトの詳細を更新します
project.name = 'New Marketing Campaign'
sch.update_project(project)

# プロジェクトを削除します
sch.delete_project(project)

ネットワーク・アクセス・ルール:設計による安全

セキュリティーはUIのみのオペレーションであってはなりません。

StreamSets SDK for Python 6.6では、ネットワークアクセスルール管理が完全にサポートされており、APIレベルでIPのセットを定義・編集し、StreamSets環境で認証を許可することができます。

オンボーディングの自動化、ハイブリッドクラウド環境におけるStreamSetsのデプロイ、あるいはネットワーク・ポリシーの適用といったシナリオにおいても、SDKを活用することで、他のインフラと同じ規律でセキュリティーを管理できるようになります。

定義する。強制する。自動化する。すべてコードで実現。

streamsets sdkネットワーク・アクセス・ルールの製品の画面

SDKの例:ネットワーク・アクセス・ルールの管理

# Control Hubの組織を選択します
org = sch.organizations[0]

#ネットワーク・アクセス・ルールが有効になっているかどうかを確認します。Returns True or False
org.ip_auth_enabled

# IP認証を有効化
org.ip_auth_enabled = True

# 現在のルールセットを確認
org.ip_auth_rules

# 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”,)

# 変更後は組織を更新することを忘れない
sch.update_organization(org)

開発者エクスペリエンスの一歩前進

StreamSets SDK for Python 6.6は、単なるバージョン管理ではなく、開発者エクスペリエンス、エンタープライズの拡張性、およびプラットフォームのオートメーションにおける一歩です。これらの主要な機能は、複雑で規制された環境でリアルタイムのデータフローを管理するチームからのフィードバックに応えて構築されました。また、StreamSetsはさらにスケーラブルで強力でエンタープライズ対応のものになります。

SDK 6.6リリースは現在PyPIで入手可能です。ドキュメンテーションとサンプルコードのスニペットは近日公開予定ですが、以下のpipコマンドを実行すると、お気に入りのIDEでこれらの主要な機能のはこちらをすでに開始できます。

pip3 install streamsets~=6.6