StreamSets SDK for Python 6.6: مزيد من القوة، مزيد من التحكم ومزيد من التعاون

شخصان يجلسان على مكتب يعملان على جهاز كمبيوتر محمول ويبتسمان

مؤلف

John Wen

Product Manager

IBM Data Integration

تم تزويد StreamSets SDK for Python 6.6 بميزات جديدة قوية تجعل من السهل على المستخدمين إنشاء مسارات التكامل برمجيًا وتأمينها وإدارتها على نطاق واسع.

فمن خلال هذا الإصدار، نقدم 3 قدرات رئيسية إلى SDK:  البحث عن القيم المقبولة ودعم  المشاريع وقواعد  الوصول إلى الشبكة. سواء أكنت تقوم بإنشاء مسارات من البداية، أم توسيع نطاق StreamSets عبر فرق العمل أو تأمين الوصول عن طريق IP، فإن الإصدار 6.6 يمنحك كل الأدوات التي تحتاج إليها في التعليمات البرمجية.

استخدام طريقة القيم المقبولة الجديدة

أصبح بناء المسارات من خلال SDK أسهل بكثير. فحتى تاريخ اليوم، كان يتعين على المستخدمين الذين يكتبون تعريفات المسار في Python الرجوع إلى واجهة المستخدم (UI) أو الوثائق لتحديد القيم الصالحة لتكوينات مرحلة معينة، خاصةً عندما تكون القوائم المنسدلة في واجهة المستخدم (UI) هي المصدر الوحيد للحقيقة.

باستخدام طريقة القيم المقبولة الجديدة، تتيح لك SDK الاستعلام برمجيًا عن جميع القيم الصالحة لحقل تكوين معين. وهذا يجعل بناء المسارات الديناميكية ودمج StreamSets في الأدوات المخصصة أكثر موثوقية وأيسر قابلية للاختبار وأسرع.

لا مزيد من التجربة والخطأ. لن تحصل إلا على تكوينات صالحة، في كل مرة.

لقطة شاشة لـ streamsets sdk

في واجهة المستخدم (UI)، يتم توضيح خيارات التكوين لكل حقل.

مثال على Streamsets SDK

أما باستخدام SDK صار يمكننا الآن الاستعلام عن القيم المقبولة لكل مرحلة:

مثال: الاستعلام عن القيم المقبولة

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

دعم المشاريع: إدخال الترتيب والتنظيم إلى عالم StreamSets

منذ زمن، ظلت إدارة التطوير متعدد فرق العمل في بيئة مشتركة تمثل تحديًا.  فبدون العزل، يمكن أن يتحول التعاون بسرعة إلى فوضى.

أما مع تقديم المشاريع في  SDK (مجموعة تطوير برمجيات)، يمكنك الآن إنشاء المشاريع وتنظيمها وإدارتها برمجيًا، وهي مساحات عمل تعاونية مدمجة في StreamSets دون حاجة إلى استخدام واجهة المستخدم (UI). حيث يوفر كل مشروع حدودًا نظيفة لمسارات فريقك واتصالاته ووظائفه والأصول. والمشاريع حولت StreamSets إلى منصة متعددة المستأجرين وجاهزة للمؤسسات. حيث اكتسب العملاء الوضوح وقابلية التوسع وتحقيق الأمن دون حاجة إلى تنفيذ مثيلات متعددة.

مثيل واحد. العديد من فرق العمل. لا احتكاك.

لقطة شاشة "لإنشاء مشروع" في streamsets sdk

مثال على ذلك: إدارة المشاريع

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

قواعد الوصول إلى الشبكة: آمنة منذ البداية

لا ينبغي أن تكون عملية الأمن مقتصرة على واجهة المستخدم فقط.

نجح الإصدار StreamSets SDK for Python 6.6 في تقديم إدارة كاملة لقواعد الوصول إلى الشبكة، مما أتاح لك الوصول  على مستوى واجهة API لتحديد وتحرير مجموعة عناوين IP المسموح لها بالمصادقة مع بيئة StreamSets الخاصة بك.

وسواء أكنت تقوم بأتمتة عملية الإعداد، أم تنشر StreamSets عبر السحابة الهجينة، أو تفرض سياسات الشبكة، فإن SDK تمكّنك الآن من إدارة الجانب الأمني بنفس الانضباط الذي تتبعه في بقية بنيتك الأساسية.

حدد. فرض. أتمتة. كل ذلك من خلال الكود.

لقطة شاشة لقواعد الوصول إلى الشبكة في streamsets sdk

مثال على SDK: إدارة قواعد الوصول إلى الشبكة

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

خطوة للأمام في تجربة المطورين

إن الإصدار StreamSets SDK for Python 6.6 ليس مجرد زيادة في رقم الإصدارات، بل هو خطوة إلى الأمام في تجربة المطور، وقابلية التوسع، والأتمتة. حيث قد تم تصميم هذه الميزات استجابةً لتعليقات فرق العمل التي تدير تدفقات البيانات في الوقت الفعلي في بيئات معقدة ومنظمة. كما أنها تجعل StreamSets أكثر قابلية للتوسع وقوية وجاهزة للمؤسسات.

يتوفر إصدار SDK 6.6 الآن على PyPI. وستأتيك الوثائق ومقتطفات التعليمات البرمجية قريبًا، لكن يمكنك البدء في استكشاف هذه الميزات الجديدة في مُعرّف الهوية المفضل لديك من خلال تشغيل الأمر pip أدناه.

pip3 install streamsets~=6.6