تنسيقات التسلسل وإلغاء التسلسل في البنية الأساسية لبرنامج ربط العمليات التجارية 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 هو الافتراضي في معظم المراحل حيث لا يتم فرض إلغاء التسلسل أو التسلسل.
يعد تكوين التسلسل أو إلغاء التسلسل شائعا للتنسيقات Raw
JSON
MessagePack
و.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
}
]
}
}