تنسيقات التسلسل وإلغاء التسلسل في البنية الأساسية لبرنامج ربط العمليات التجارية Azure IoT Data Processor Preview

هام

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

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

معالج البيانات هو نظام أساسي غير محدد للبيانات. يمكن لمعالج البيانات استيعاب البيانات ومعالجتها وكتابتها بأي تنسيق.

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

قد تتطلب بعض وجهات البنية الأساسية لبرنامج ربط العمليات التجارية أو الاستدعاءات من المراحل أن تكون البيانات بتنسيق معين. قد تحتاج إلى تسلسل بياناتك إلى تنسيق مناسب للوجهة.

إلغاء تسلسل الرسائل

يدعم معالج البيانات في الأصل إلغاء تسلسل التنسيقات المختلفة في كل من مرحلة مصدر البيانات ومراحل الاستدعاء حيث يقرأ المسار البيانات الخارجية:

  • يمكن لمرحلة المصدر إلغاء تسلسل البيانات الواردة.
  • يمكن لمراحل الاستدعاء إلغاء تسلسل استجابة واجهة برمجة التطبيقات.

قد لا تحتاج إلى إلغاء تسلسل البيانات الواردة إذا:

  • لا تستخدم المراحل التي تتطلب بيانات غير تسلسلية.
  • أنت تعالج بيانات التعريف فقط.
  • البيانات الواردة موجودة بالفعل بتنسيق يتوافق مع المراحل المستخدمة.

يسرد الجدول التالي التنسيقات التي يتم دعم إلغاء التسلسل لها والمراحل المقابلة لها.

Format Data source استدعاء
Raw مدعوم HTTP
JSON مدعوم HTTP
Protobuf مدعوم الكل (HTTP وgRPC)
CSV مدعوم HTTP
MessagePack مدعوم HTTP
CBOR مدعوم HTTP

تلميح

حدد Raw عندما لا تحتاج إلى إلغاء التسلسل. يمرر Raw الخيار البيانات في تنسيقها الحالي.

تسلسل الرسائل

يدعم معالج البيانات في الأصل التسلسل إلى تنسيقات مختلفة في كل من الوجهة واستدعاء المراحل حيث يكتب المسار بيانات خارجية:

  • يمكن لمرحلة الوجهة تسلسل البيانات الصادرة إلى تنسيق مناسب.
  • يمكن أن تقوم مراحل الاستدعاء بتسلسل البيانات المرسلة في طلب واجهة برمجة التطبيقات.
Format استدعاء مرحلة الإخراج
Raw HTTP الكل باستثناء Microsoft Fabric
JSON HTTP الكل باستثناء Microsoft Fabric
Parquet غير مدعوم Microsoft Fabric
Protobuf الكل الكل باستثناء Microsoft Fabric
CSV HTTP الكل باستثناء Microsoft Fabric
MessagePack HTTP الكل باستثناء Microsoft Fabric
CBOR HTTP الكل باستثناء Microsoft Fabric

تلميح

حدد Raw عندما لا يكون هناك حاجة إلى إنشاء تسلسل. يمرر Raw الخيار البيانات بتنسيقها الحالي.

تنسيقات بيانات Raw/JSON/MessagePack/CBOR

Raw هو الخيار الذي يجب استخدامه عندما لا تحتاج إلى إلغاء تسلسل البيانات أو تسلسلها. Raw هو الافتراضي في معظم المراحل حيث لا يتم فرض إلغاء التسلسل أو التسلسل.

يعد تكوين التسلسل أو إلغاء التسلسل شائعا للتنسيقات RawJSONMessagePackو.CBOR لهذه التنسيقات، استخدم خيارات التكوين التالية.

استخدم خيارات التكوين التالية لإلغاء تسلسل البيانات:

الحقل نوع ‏‏الوصف مطلوب؟ الإعداد الافتراضي مثال
type string enum تنسيق إلغاء التسلسل لا - JSON
path مسار المسار إلى جزء رسالة "معالج البيانات" حيث تتم كتابة البيانات التي تم إلغاء تسلسلها إليها. (راجع الملاحظة التالية) .payload .payload.response

إشعار

لا تحتاج إلى تحديد path وقت إلغاء تسلسل البيانات في مرحلة المصدر. يتم وضع البيانات التي تم إلغاء تسلسلها تلقائيا في .payload قسم الرسالة.

استخدم خيارات التكوين التالية لتسلسل البيانات:

الحقل نوع ‏‏الوصف مطلوب؟ الإعداد الافتراضي مثال
type string enum تنسيق التسلسل ‏‏نعم‬ - JSON
path مسار المسار إلى جزء رسالة "معالج البيانات" الذي يجب أن يتم تسلسله. (راجع الملاحظة التالية) .payload .payload.response

إشعار

لا تحتاج إلى تحديد path متى تقوم بتسلسل البيانات المجمعة . المسار الافتراضي هو .، الذي يمثل الرسالة بأكملها. بالنسبة للبيانات غير المخصومة، يجب تحديد path.

يوضح المثال التالي تكوين تسلسل بيانات JSON غير المانوخة أو إلغاء تسلسلها:

{
    "format": {
        "type": "json",
        "path": ".payload"
    }
}

يوضح المثال التالي تكوين إلغاء تسلسل بيانات JSON في مرحلة المصدر أو تسلسل بيانات JSON المجمعة :

{
    "format": {
        "type": "json"
    }
}

تنسيق بيانات المخازن المؤقتة للبروتوكول

استخدم خيارات التكوين التالية لإلغاء تسلسل بيانات المخازن المؤقتة للبروتوكول (protobuf):

الحقل نوع ‏‏الوصف مطلوب؟ الإعداد الافتراضي مثال
type string enum تنسيق إلغاء التسلسل ‏‏نعم‬ - protobuf
descriptor string واصف base64 المشفر لملف (ملفات) تعريف protobuf. ‏‏نعم‬ - Zm9v..
package string اسم الحزمة في الواصف حيث يتم تعريف النوع. ‏‏نعم‬ - package1..
message string اسم نوع الرسالة المستخدم لتنسيق البيانات. ‏‏نعم‬ - message1..
path مسار المسار إلى جزء رسالة معالج البيانات حيث يجب كتابة البيانات التي تم إلغاء تسلسلها. (راجع الملاحظة التالية) .payload .payload.gRPCResponse

إشعار

لا تحتاج إلى تحديد path وقت إلغاء تسلسل البيانات في مرحلة المصدر. يتم وضع البيانات التي تم إلغاء تسلسلها تلقائيا في .payload قسم الرسالة.

استخدم خيارات التكوين التالية لتسلسل بيانات protobuf:

الحقل نوع ‏‏الوصف مطلوب؟ الإعداد الافتراضي مثال
type string enum تنسيق التسلسل ‏‏نعم‬ - protobuf
descriptor string واصف base64 المشفر لملف (ملفات) تعريف protobuf. ‏‏نعم‬ - Zm9v..
package string اسم الحزمة في الواصف حيث يتم تعريف النوع. ‏‏نعم‬ - package1..
message string اسم نوع الرسالة المستخدم لتنسيق البيانات. ‏‏نعم‬ - message1..
path مسار تتم قراءة المسار إلى جزء رسالة "معالج البيانات" حيث تتم قراءة البيانات المراد تسلسلها. (راجع الملاحظة التالية) - .payload.gRPCRequest

إشعار

لا تحتاج إلى تحديد path متى تقوم بتسلسل البيانات المجمعة . المسار الافتراضي هو .، الذي يمثل الرسالة بأكملها.

يوضح المثال التالي تكوين تسلسل بيانات protobuf غير المحفوفة أو إلغاء تسلسلها:

{
    "format": {
        "type": "protobuf",
        "descriptor": "Zm9v..",
        "package": "package1",
        "message": "message1",
        "path": ".payload"
    }
}

يوضح المثال التالي تكوين إلغاء تسلسل بيانات protobuf في مرحلة المصدر أو تسلسل بيانات protobuf المجمعة :

{
    "format": {
        "type": "protobuf",
        "descriptor": "Zm9v...", // The full descriptor
        "package": "package1",
        "message": "message1"
    }
}

تنسيق بيانات CSV

استخدم خيارات التكوين التالية لإلغاء تسلسل بيانات CSV:

الحقل نوع ‏‏الوصف مطلوب؟ الإعداد الافتراضي مثال
type string enum تنسيق إلغاء التسلسل ‏‏نعم‬ - CSV
header boolean يشير هذا الحقل إلى ما إذا كانت بيانات الإدخال تحتوي على صف رأس CSV. ‏‏نعم‬ - true
columns array تعريف مخطط CSV المراد قراءته. ‏‏نعم‬ - (راجع الجدول التالي)
path مسار المسار إلى جزء رسالة معالج البيانات حيث يجب كتابة البيانات التي تم إلغاء تسلسلها. (راجع الملاحظة التالية) - .payload

إشعار

لا تحتاج إلى تحديد path وقت إلغاء تسلسل البيانات في مرحلة المصدر. يتم وضع البيانات التي تم إلغاء تسلسلها تلقائيا في .payload قسم الرسالة.

كل عنصر في صفيف الأعمدة هو كائن بالمخطط التالي:

الحقل نوع ‏‏الوصف مطلوب؟ الإعداد الافتراضي مثال
name string اسم العمود كما يظهر في رأس CSV. ‏‏نعم‬ - temperature
type string enum نوع بيانات معالج البيانات الموجود في العمود المستخدم لتحديد كيفية تحليل البيانات. لا سلسلة integer
path مسار الموقع داخل كل سجل من البيانات التي يجب قراءة قيمة العمود منها. لا .{{name}} .temperature

استخدم خيارات التكوين التالية لتسلسل بيانات CSV:

الحقل نوع ‏‏الوصف مطلوب؟ الإعداد الافتراضي مثال
type string enum تنسيق التسلسل ‏‏نعم‬ - CSV
header boolean يشير هذا الحقل إلى ما إذا كان يجب تضمين سطر الرأس مع أسماء الأعمدة في CSV المتسلسلة. ‏‏نعم‬ - true
columns array تعريف مخطط CSV للكتابة. ‏‏نعم‬ - (راجع الجدول التالي)
path مسار المسار إلى جزء رسالة معالج البيانات حيث تتم كتابة البيانات المراد تسلسلها. (راجع الملاحظة التالية) - .payload

إشعار

لا تحتاج إلى تحديد path متى تقوم بتسلسل البيانات المجمعة . المسار الافتراضي هو .، الذي يمثل الرسالة بأكملها.

الحقل نوع ‏‏الوصف مطلوب؟ الإعداد الافتراضي مثال
name string اسم العمود كما سيظهر في رأس CSV. ‏‏نعم‬ - temperature
path مسار الموقع داخل كل سجل من البيانات حيث يجب كتابة قيمة العمود إليه. لا .{{name}} .temperature

يوضح المثال التالي تكوين تسلسل بيانات CSV غير المنقوشة:

{
    "format": {
        "type": "csv",
        "header": true,
        "columns": [
            {
                "name": "assetId",
                "path": ".assetId"
            },
            {
                "name": "timestamp",
                "path": ".eventTime"
            },
            {
                "name": "temperature",
                // Path is optional, defaults to the name
            }
        ],
        "path": ".payload"
    }
}

يوضح المثال التالي تكوين تسلسل بيانات CSV المجمعة. حذف المستوى path الأعلى للبيانات المجمعة:

{
    "format": {
        "type": "csv",
        "header": true,
        "columns": [
            {
                "name": "assetId",
                "path": ".assetId"
            },
            {
                "name": "timestamp",
                "path": ".eventTime"
            },
            {
                "name": "temperature",
                // Path is optional, defaults to .temperature
            }
        ]
    }
}

يوضح المثال التالي تكوين إلغاء تسلسل بيانات CSV غير المنقوشة:

{
    "format": {
        "type": "csv",
        "header": false,
        "columns": [
            {
                "name": "assetId",
                "type": "string",
                "path": ".assetId"
            },
            {
                "name": "timestamp",
                // Type is optional, defaults to string
                "path": ".eventTime"
            },
            {
                "name": "temperature",
                "type": "float"
                // Path is optional, defaults to .temperature
            }
        ],
        "path": ".payload"
    }
}

يوضح المثال التالي تكوين إلغاء تسلسل بيانات CSV المجمعة في مرحلة المصدر:

{
    "format": {
        "type": "csv",
        "header": false,
        "columns": [
            {
                "name": "assetId",
                "type": "string",
                "path": ".assetId"
            },
            {
                "name": "timestamp",
                // Type is optional, defaults to string
                "path": ".eventTime"
            },
            {
                "name": "temperature",
                "type": "float",
                // Path is optional, defaults to .temperature
            }
        ]
    }
}