إرسال البيانات إلى Microsoft Fabric من مسار معالج البيانات

هام

معاينة عمليات Azure IoT - التي تم تمكينها بواسطة Azure Arc قيد المعاينة حاليا. يجب عدم استخدام برنامج المعاينة هذا في بيئات الإنتاج.

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

استخدم وجهة Fabric Lakehouse لكتابة البيانات إلى مستودع في Microsoft Fabric من البنية الأساسية لبرنامج ربط العمليات التجارية Azure IoT Data Processor Preview. تكتب مرحلة الوجهة ملفات parquet إلى مستودع يتيح لك عرض البيانات في جداول دلتا. تقوم مرحلة الوجهة بتجميع الرسائل قبل إرسالها إلى Microsoft Fabric.

المتطلبات الأساسية

لتكوين مرحلة مسار وجهة Microsoft Fabric واستخدامها، تحتاج إلى:

  • مثيل منشور من معالج البيانات.
  • اشتراك Microsoft Fabric. أو قم بالتسجيل للحصول على إصدار تجريبي مجاني من Microsoft Fabric (معاينة).
  • بحيرة في Microsoft Fabric.

إعداد Microsoft Fabric

قبل أن تتمكن من الكتابة إلى Microsoft Fabric من مسار بيانات، تحتاج إلى منح حق الوصول إلى lakehouse من البنية الأساسية لبرنامج ربط العمليات التجارية. يمكنك استخدام إما كيان خدمة أو هوية مدارة لمصادقة البنية الأساسية لبرنامج ربط العمليات التجارية. تتمثل ميزة استخدام هوية مدارة في أنك لا تحتاج إلى إدارة دورة حياة كيان الخدمة. تتم إدارة الهوية المدارة تلقائيا بواسطة Azure وترتبط دورة حياة المورد الذي تم تعيينه إليه.

قبل تكوين إما كيان الخدمة أو الوصول إلى الهوية المدارة إلى مستودع، قم بتمكين المصادقة الأساسية للخدمة.

لإنشاء كيان خدمة مع سر العميل:

  1. استخدم أمر Azure CLI التالي لإنشاء كيان خدمة.

    az ad sp create-for-rbac --name <YOUR_SP_NAME> 
    
  2. يتضمن appIdإخراج هذا الأمر و displayNamepasswordو و.tenant دون هذه القيم لاستخدامها عند تكوين الوصول إلى مورد السحابة مثل Microsoft Fabric وإنشاء سر وتكوين وجهة المسار:

    {
        "appId": "<app-id>",
        "displayName": "<name>",
        "password": "<client-secret>",
        "tenant": "<tenant-id>"
    }
    

لإضافة كيان الخدمة إلى مساحة عمل Microsoft Fabric:

  1. دون ملاحظة عن معرف مساحة العمل ومعرف lakehouse. يمكنك العثور على هذه القيم في عنوان URL الذي تستخدمه للوصول إلى مستودعك:

    https://msit.powerbi.com/groups/<your workspace ID>/lakehouses/<your lakehouse ID>?experience=data-engineering

  2. في مساحة العمل الخاصة بك، حدد إدارة الوصول:

    لقطة شاشة توضح كيفية العثور على ارتباط إدارة الوصول.

  3. حدد إضافة أشخاص أو مجموعات:

    لقطة شاشة توضح كيفية إضافة مستخدم.

  4. ابحث عن كيان الخدمة بالاسم. ابدأ الكتابة لمشاهدة قائمة بكيانات الخدمة المطابقة. حدد كيان الخدمة الذي أنشأته سابقا:

    لقطة شاشة توضح كيفية إضافة كيان خدمة.

  5. امنح مسؤول الخدمة الأساسي حق الوصول إلى مساحة العمل.

تكوين سرك

لكي تتصل مرحلة الوجهة ب Microsoft Fabric، فإنها تحتاج إلى الوصول إلى سر يحتوي على تفاصيل المصادقة. لإنشاء بيانات سرية:

  1. استخدم الأمر التالي لإضافة سر إلى Azure Key Vault الذي يحتوي على سر العميل الذي دونته عند إنشاء كيان الخدمة:

    az keyvault secret set --vault-name <your-key-vault-name> --name AccessFabricSecret --value <client-secret>
    
  2. أضف المرجع السري إلى مجموعة Kubernetes باتباع الخطوات الواردة في إدارة الأسرار لتوزيع Azure IoT Operations Preview.

تكوين مرحلة الوجهة

يحدد تكوين مرحلة وجهة Fabric Lakehouse JSON تفاصيل المرحلة. لتأليف المرحلة، يمكنك إما التفاعل مع واجهة المستخدم المستندة إلى النموذج، أو توفير تكوين JSON في علامة التبويب خيارات متقدمة:

الحقل نوع الوصف مطلوبة افتراضي مثال
‏‫اسم العرض‬ السلسلة‬ اسم لإظهاره في واجهة مستخدم معالج البيانات. ‏‏نعم‬ - Azure IoT MQ output
‏‏الوصف السلسلة‬ وصف سهل الاستخدام لما تقوم به المرحلة. لا Write to topic default/topic1
معرف مساحة العمل السلسلة‬ معرف مساحة عمل lakehouse. ‏‏نعم‬ -
معرف Lakehouse السلسلة‬ معرف Lakehouse Lakehouse. ‏‏نعم‬ -
جدول السلسلة‬ اسم الجدول للكتابة إليه. ‏‏نعم‬ -
مسارالملف 1 القالب مسار الملف لمكان كتابة ملف parquet إليه. لا {{{instanceId}}}/{{{pipelineId}}}/{{{partitionId}}}/{{{YYYY}}}/{{{MM}}}/{{{DD}}}/{{{HH}}}/{{{mm}}}/{{{fileNumber}}}
الدفعة2 الدفعه كيفية تجميع البيانات. لا 60s 10s
المصادقة4 السلسلة‬ تفاصيل المصادقة للاتصال ب Azure Data Explorer. Service principal أو Managed identity كيان الخدمة ‏‏نعم‬ -
إعادة المحاولة إعادة المحاولة نهج إعادة المحاولة لاستخدامه. لا default fixed
اسم الأعمدة > سلسلة اسم العمود. ‏‏نعم‬ temperature
نوعالأعمدة > 3 قائمة تعداد السلسلة نوع البيانات المحتفظ بها في العمود، باستخدام أحد أنواع دلتا الأولية. ‏‏نعم‬ integer
مسار الأعمدة > مسار الموقع داخل كل سجل من البيانات من أين تقرأ قيمة العمود. لا .{{name}} .temperature

1مسار الملف: لكتابة الملفات إلى Microsoft Fabric، تحتاج إلى مسار ملف. يمكنك استخدام القوالب لتكوين مسارات الملفات. يجب أن تحتوي مسارات الملفات على المكونات التالية بأي ترتيب:

  • instanceId
  • pipelineId
  • partitionId
  • YYYY
  • MM
  • DD
  • HH
  • mm
  • fileNumber

أسماء الملفات هي قيم عدد صحيح تزايدي كما هو موضح بواسطة fileNumber. تأكد من تضمين ملحق ملف إذا كنت تريد أن يتعرف النظام على نوع الملف.

2الإرسال في دفعات: يعد الإرسال في دفعات إلزاميا عند كتابة البيانات إلى Microsoft Fabric. تجمع مرحلة الوجهة الرسائل عبر فاصل زمني قابل للتكوين.

إذا لم تقم بتكوين فاصل زمني للدفعات، فإن المرحلة تستخدم 60 ثانية كافتراضي.

3النوع: يكتب معالج البيانات إلى Microsoft Fabric باستخدام تنسيق دلتا. يدعم معالج البيانات جميع أنواع البيانات الأولية دلتا decimal باستثناء و timestamp without time zone.

لضمان تمثيل كافة التواريخ والأوقات بشكل صحيح في Microsoft Fabric، تأكد من أن قيمة الخاصية هي سلسلة RFC 3339 صالحة وأن نوع البيانات إما date أو timestamp.

1المصادقة: حاليا، تدعم مرحلة الوجهة المصادقة المستندة إلى الخدمة أو الهوية المدارة عند الاتصال ب Microsoft Fabric.

المصادقة المستندة إلى كيان الخدمة

لتكوين المصادقة المستندة إلى كيان الخدمة، قم بتوفير القيم التالية. لقد قمت بتدوين هذه القيم عند إنشاء كيان الخدمة وإضافة المرجع السري إلى نظام المجموعة الخاص بك.

الحقل ‏‏الوصف مطلوب
TenantId معرف المستأجر. ‏‏نعم‬
ClientId معرف التطبيق الذي قمت بتدوينه عند إنشاء كيان الخدمة الذي لديه حق الوصول إلى قاعدة البيانات. ‏‏نعم‬
سر المرجع السري الذي قمت بإنشائه في نظام المجموعة. ‏‏نعم‬

عينة التكوين

يوضح مثال JSON التالي تكوين مرحلة وجهة Microsoft Fabric lakehouse الكامل الذي يكتب الرسالة بأكملها إلى quickstart الجدول في قاعدة البيانات":

{
    "displayName": "Fabric Lakehouse - 520f54",
    "type": "output/fabric@v1",
    "viewOptions": {
        "position": {
            "x": 0,
            "y": 784
        }
    },
    "workspace": "workspaceId",
    "lakehouse": "lakehouseId",
    "table": "quickstart",
    "columns": [
        {
            "name": "Timestamp",
            "type": "timestamp",
            "path": ".Timestamp"
        },
        {
            "name": "AssetName",
            "type": "string",
            "path": ".assetname"
        },
        {
            "name": "Customer",
            "type": "string",
            "path": ".Customer"
        },
        {
            "name": "Batch",
            "type": "integer",
            "path": ".Batch"
        },
        {
            "name": "CurrentTemperature",
            "type": "float",
            "path": ".CurrentTemperature"
        },
        {
            "name": "LastKnownTemperature",
            "type": "float",
            "path": ".LastKnownTemperature"
        },
        {
            "name": "Pressure",
            "type": "float",
            "path": ".Pressure"
        },
        {
            "name": "IsSpare",
            "type": "boolean",
            "path": ".IsSpare"
        }
    ],
    "authentication": {
        "type": "servicePrincipal",
        "tenantId": "tenantId",
        "clientId": "clientId",
        "clientSecret": "secretReference"
    },
    "batch": {
        "time": "5s",
        "path": ".payload"
    },
    "retry": {
        "type": "fixed",
        "interval": "20s",
        "maxRetries": 4
    }
}

يحدد التكوين ما يلي:

  • يتم تجميع الرسائل في دفعات لمدة 5 ثوان.
  • يستخدم مسار .payload الدفعة لتحديد موقع بيانات الأعمدة.

مثال

يوضح المثال التالي نموذج رسالة إدخال إلى مرحلة وجهة Microsoft Fabric lakehouse:

{
  "payload": {
    "Batch": 102,
    "CurrentTemperature": 7109,
    "Customer": "Contoso",
    "Equipment": "Boiler",
    "IsSpare": true,
    "LastKnownTemperature": 7109,
    "Location": "Seattle",
    "Pressure": 7109,
    "Timestamp": "2023-08-10T00:54:58.6572007Z",
    "assetName": "oven"
  },
  "qos": 0,
  "systemProperties": {
    "partitionId": 0,
    "partitionKey": "quickstart",
    "timestamp": "2023-11-06T23:42:51.004Z"
  },
  "topic": "quickstart"
}