البرنامج التعليمي: إنشاء الرسم البياني Azure Digital Twins باستخدام Azure CLI
في هذا البرنامج التعليمي، سوف تنشيء رسمًا بيانيًا في توائم Azure الرقمية باستخدام نماذج وتوائم وعلاقات. أداة هذا البرنامج التعليمي هي مجموعة أوامر Azure Digital Twins لـ Azure CLI.
يمكنك استخدام أوامر CLI لتنفيذ إجراءات Azure Digital Twins الأساسية مثل تحميل النماذج وإنشاء التوائم وتعديلها وإنشاء علاقات. يمكنك أيضًا الاطلاع على الوثائق المرجعية لمجموعة أوامر az dt للاطلاع على المجموعة الكاملة من أوامر CLI.
في هذا البرنامج التعليمي، سوف تتعلم...
- نمذجة البيئة
- إنشاء التوائم الرقمية
- إضافة علاقات لتشكيل رسم بياني
- الاستعلام عن الرسم البياني للإجابة عن الأسئلة
المتطلبات الأساسية
لإكمال الخطوات في هذا البرنامج التعليمي، ستحتاج أولاً إلى إكمال المتطلبات الأساسية التالية.
في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
تنزيل نماذج العينات
يستخدم البرنامج التعليمي اثنين من النماذج المكتوبة مسبقًا، وهي جزء من لغة C # نموذج المشروع end-to-end لـ Azure Digital Twins. ملفات النموذج توجد هنا:
للحصول على الملفات على جهازك، استخدم ارتباطات التنقل أعلاه وانسخ هيئات الملفات إلى ملفات محلية على جهازك بنفس الأسماء (Room.jsتشغيلFloor.js).
إعداد البيئة الخاصة بك لـ Azure CLI
استخدم بيئة Bash في Azure Cloud Shell. لمزيد من المعلومات، راجع التشغيل السريع ل Bash في Azure Cloud Shell.
إذا كنت تفضل تشغيل أوامر مرجع CLI محلياً قم بتثبيت CLI Azure. إذا كنت تعمل على نظام تشغيل Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker.
إذا كنت تستخدم تثبيت محلي، يُرجى تسجيل الدخول إلى Azure CLI مستخدمًا أمر az login. لإنهاء عملية المصادقة، اتبع الخطوات المعروضة في جهازك. للحصول على خيارات أخرى لتسجيل دخول، راجع تسجيل الدخول باستخدام Azure CLI.
عندما يُطلب منك، قم بتثبيت ملحق Azure CLI عند الاستخدام لأول مرة. لمزيد من المعلومات بشأن الامتدادات، راجع استخدام امتدادات مع Azure CLI.
يُرجى تشغيل إصدار az للوصول إلى الإصدار والمكتبات التابعة التي تم تثبيتها. للتحديث لآخر إصدار، يُرجى تشغيل تحديث az.
إعداد جلسة عمل CLI
لبدء العمل مع Azure Digital Twins في CLI، أول شيء يجب القيام به هو تسجيل الدخول وتعيين سياق CLI إلى اشتراكك في هذه الجلسة. قم بتشغيل هذه الأوامر في نافذة CLI:
az login
az account set --subscription "<your-Azure-subscription-ID>"
تلميح
يمكنك أيضاً استخدام اسم الاشتراك الخاص بك بدلاً من المعرف في الأمر الوارد أعلاه.
إذا كانت هذه هي المرة الأولى التي تستخدم فيها هذا الاشتراك باستخدام Azure Digital Twins، فشغل هذا الأمر للتسجيل في مساحة الاسم Azure Digital Twins. (إذا لم تكن متأكداً، فلا بأس من تشغيله مرة أخرى حتى لو كنت قد فعلت ذلك في وقت ما في الماضي.)
az provider register --namespace 'Microsoft.DigitalTwins'
بعد ذلك، ستضيف ملحق Microsoft Azure IoT ل Azure CLI، لتمكين الأوامر للتفاعل مع Azure Digital Twins وخدمات IoT الأخرى. شغل هذا الأمر للتأكد من أن لديك أحدث إصدار من الملحق:
az extension add --upgrade --name azure-iot
أنت الآن جاهز للعمل مع Azure Digital Twins في Azure CLI.
يمكنك التحقق من ذلك عن طريق تشغيل az dt --help
في أي وقت لمشاهدة قائمة من أوامرAzure Digital Twins ذات المستوى الأعلى المتوفرة.
إعداد مثيل Azure Digital Twins
للعمل مع Azure Digital Twins في هذه الوحدة، تحتاج أولاً إلى إعداد نمذجة Digital Twins والأذونات المطلوبة لاستخدامه. إذا كان لديك مثيل Azure Digital Twins تم إعداده من عمل السابق، يمكنك استخدام هذا المثيل.
وإلا، فاتبع الإرشادات الموجودة في إعداد نمذجة ومصادقة. تتضمن الإرشادات أيضًا خطوات للتحقق من إكمالك لكل خطوة بنجاح واستعدادك للانتقال إلى استخدام المثيل الجديد.
بعد إعداد مثيل Azure Digital Twins، دون ملاحظة للقيم التالية التي ستحتاج إلى الاتصال بالمثيل لاحقًا:
- اسم مضيف المثيل
- اشتراك Azure الذي استخدمته لإنشاء المثيل
تلميح
إذا كنت تعرف الاسم المألوف للمثيل الخاص بك، يمكنك استخدام أمر CLI التالي للحصول على اسم المضيف وقيم الاشتراك:
az dt show --dt-name <Azure-Digital-Twins-instance-name>
ستظهر في الإخراج كما يلي:
نمذجة بيئة فعلية بواسطة DTDL
الآن بعد أن تم إعداد مثيل CLI وAzure Digital Twins، يمكنك البدء في إنشاء رسم بياني لسيناريو.
الخطوة الأولى في إنشاء حل توائم Azure الرقمية هي تحديد نماذج توأم لبيئة عملك.
نماذج مشابهة لفئات في لغات البرمجة الموجهة للكائنات؛ إنها توفر قوالب مُعرَّفة من قبل المستخدم digital twins لمتابعة وإنشاء مثيل في وقت لاحق. وهي مكتوبة بلغة تشبه JSON تسمى Digital Twins Definition Language (DTDL)، ويمكنها تحديد خصائص التوأم وعلاقاته ومكوناته.
إشعار
DTDL يسمح أيضًا لتعريف الأوامر على التوائم الرقمية. ومع ذلك، فالأوامر غير معتمدة حاليًا في خدمة توائم Azure الرقمية.
انتقل على جهازك إلى الملف Room.json الذي قمت بإنشائه في قسم المتطلبات الأساسية. افتحه في محرر تعليمات برمجية وغيره بالطرق التالية:
حدّث رقم الإصدار، للإشارة إلى أنك ستوفر إصدار أكثر تحديثاّ من هذا النموذج. يمكنك فعل ذلك عن طريق تغيير 1 في نهاية قيمة
@id
إلى 2. أي رقم أكبر من رقم الإصدار الحالي سيعمل أيضاً.تحرير خاصية. قم بتغيير اسم الخاصية
Humidity
إلى HumidityLevel (أو شيء مختلف إذا كنت تريد ذلك. إذا كنت تستخدم شيئا مختلفا عن HumidityLevel، فتذكر ما استخدمته وتابع استخدام ذلك بدلا من HumidityLevel طوال البرنامج التعليمي).إضافة خاصية. أسفل الخاصية
HumidityLevel
التي تنتهي عند السطر 15، الصق التعليمة البرمجية التالية لإضافة خاصيةRoomName
إلى الغرفة:,{ "@type": "Property", "name": "RoomName", "schema": "string" }
إضافة علاقة. أسفل الخاصية
RoomName
التي أضفتها للتو، الصق التعليمات البرمجية التالية لإضافة القدرة لهذا النوع من التوائم على تشكيلcontains
علاقات مع توائم أخرى:,{ "@type": "Relationship", "name": "contains" }
عند الانتهاء، يجب أن يطابق النموذج المحدث التالي:
{
"@id": "dtmi:example:Room;2",
"@type": "Interface",
"displayName": "Room",
"contents": [
{
"@type": "Property",
"name": "Temperature",
"schema": "double"
},
{
"@type": "Property",
"name": "HumidityLevel",
"schema": "double"
}
,{
"@type": "Property",
"name": "RoomName",
"schema": "string"
}
,{
"@type": "Relationship",
"name": "contains"
}
],
"@context": "dtmi:dtdl:context;3"
}
تأكد من حفظ الملف قبل المتابعة.
تحميل النماذج إلى توائم Azure الرقمية
بعد تصميم النماذج، تحتاج إلى تحميلها إلى مثيل توائم Azure الرقمية الخاص بك. يؤدي القيام بذلك إلى تكوين مثيل خدمة Azure Digital Twins باستخدام مصطلحات مجال مخصص خاص بك. بمجرد انتهائك من تحميل النماذج، يمكنك إنشاء مثيلات مزدوجة تستخدمها.
إذا كنت تستخدم تثبيتا محليا ل Azure CLI، يمكنك تخطي هذه الخطوة. إذا كنت تستخدم Cloud Shell، فستحتاج إلى تحميل ملفات النموذج إلى تخزين Cloud Shell حتى تتوفر الملفات عند تشغيل أمر Cloud Shell الذي يستخدمها. للقيام بذلك، حدد أيقونة "تحميل/تنزيل الملفات" واختر "تحميل".
انتقل إلى ملف Room.json على جهازك وحدد "فتح". ثم كرر هذه الخطوة Floor.json.
بعد ذلك، استخدم أمر إنشاء نموذج az dt كما هو موضح أدناه لتحميل نموذج الغرفة المحدث إلى مثيل Azure Digital Twins الخاص بك. يقوم الأمر الثاني بتحميل نموذج آخر، وهو الطابق، والذي ستستخدمه أيضًا في القسم التالي لإنشاء أنواع مختلفة من التوائم. هناك عنصر نائب لاسم مضيف المثيل (يمكنك أيضا استخدام الاسم المألوف للمثيل مع انخفاض طفيف في الأداء)، وعن طريق نائب لكل ملف نموذج. إذا كنت تستخدم Cloud Shell، Room.json Floor.json في دليل التخزين الرئيسي، بحيث يمكنك فقط استخدام أسماء الملفات مباشرة في الأمر أدناه حيث يكون المسار مطلوبا.
az dt model create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --models <path-to-Room.json> az dt model create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --models <path-to-Floor.json>
سيعرض الإخراج من كل أمر معلومات حول النموذج الذي تم تحميله بنجاح.
تلميح
يمكنك أيضًا تحميل كافة النماذج داخل دليل في نفس الوقت، باستخدام
--from-directory
الخيار الخاص بأمر إنشاء النموذج. لمزيد من المعلومات، راجع معلمات اختيارية لإنشاء نموذج az dt.تحقق من أن النماذج تم إنشاؤها بواسطة أمر قائمة نموذج az dt كما هو موضح أدناه. سيؤدي القيام بذلك إلى طباعة قائمة بجميع النماذج التي تم تحميلها إلى مثيل Azure Digital Twins بمعلوماتها الكاملة. هناك عنصر نائب واحد لاسم مضيف المثيل (يمكنك أيضا استخدام الاسم المألوف للمثيل مع انخفاض طفيف في الأداء).
az dt model list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --definition
ابحث عن نموذج الغرفة المحررة في النتائج:
Errors
يعالج CLI أيضًا أخطاء من الخدمة.
أعد تشغيل الأمر az dt model create
لمحاولة إعادة تحميل أحد النماذج نفسها التي قمت بتحميلها، للمرة الثانية:
az dt model create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --models Room.json
نظرا إلى أنه لا يمكن الكتابة فوق النماذج، فإن تشغيل هذا الأمر على نفس النموذج سيعيد الآن رمز خطأ ل ModelIdAlreadyExists
.
إنشاء التوائم الرقمية
الآن بعد أن تم تحميل بعض النماذج إلى مثيل توائم Azure الرقمية الخاص بك، يمكنك إنشاء digital twins استنادًا إلى تعريفات النموذج. تمثل التوائم الرقمية الكيانات داخل بيئة عملك—أشياء مثل أجهزة الاستشعار في مزرعة أو غرف المبنى أو الأضواء في السيارة.
لإنشاء التوائم الرقمية، يمكنك استخدام الأمر إنشاء التوأم az dt. يجب أن تشير إلى النموذج الذي يعتمد عليه التوأم، ويمكنك تعريف القيم الأولية لأي خصائص في النموذج بشكل اختياري. ليس عليك تمرير أي معلومات عن العلاقة في هذه المرحلة.
قم بتشغيل هذه التعليمة البرمجية في CLI لإنشاء العديد من التوائم، استنادا إلى نموذج الغرفة الذي قمت بتحديثه سابقا ونموذج آخر، Floor. تذكر أن نموذج Room له ثلاث خصائص، لذا يمكنك تقديم وسيطات مع القيم الأولية لهذه الخصائص. (تعد تهيئة قيم الخصائص اختيارية بشكل عام، ولكن هناك حاجة إليها لهذا البرنامج التعليمي.) هناك عنصر نائب واحد لاسم مضيف المثيل (يمكنك أيضا استخدام الاسم المألوف للمثيل مع انخفاض طفيف في الأداء).
az dt twin create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --dtmi "dtmi:example:Room;2" --twin-id room0 --properties '{"RoomName":"Room0", "Temperature":70, "HumidityLevel":30}' az dt twin create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --dtmi "dtmi:example:Room;2" --twin-id room1 --properties '{"RoomName":"Room1", "Temperature":80, "HumidityLevel":60}' az dt twin create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --dtmi "dtmi:example:Floor;1" --twin-id floor0 az dt twin create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --dtmi "dtmi:example:Floor;1" --twin-id floor1
إشعار
إذا كنت تستخدم أي شيء آخر غير Cloud Shell في بيئة Bash، فقد تحتاج إلى الهروب من أحرف معينة في JSON المضمن بحيث يتم تحليله بشكل صحيح.
لمزيد من المعلومات، راجع استخدام أحرف خاصة في قذائف مختلفة.
سيعرض الإخراج من كل أمر معلومات حول التوأم الذي تم إنشاؤه بنجاح (بما في ذلك خصائص توأم الغرفة التي تم تهيئتها معهم).
يمكنك التحقق من أن التوائم تم إنشاؤها مع الأمر az dt twin query كما هو موضح أدناه. يعرض الاستعلام المعروض جميع التوائم الرقمية في مثيل Azure Digital Twins الخاص بك. هناك عنصر نائب واحد لاسم مضيف المثيل (يمكنك أيضا استخدام الاسم المألوف للمثيل مع انخفاض طفيف في الأداء).
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DIGITALTWINS"
ابحث عن توائم room0 و room1 و floor0 و floor1 في النتائج. فيما يلي مقتطف يظهر جزءا من نتيجة هذا الاستعلام.
إشعار
بعد إجراء تغيير على البيانات في الرسم البياني، قد يكون هناك زمن انتقال مدته 10 ثوان بحد أقصى قبل ظهور التغييرات في الاستعلامات.
يُظهر DigitalTwins API التغييرات على الفور، لذا، إذا كنت بحاجة إلى استجابة فورية، استخدم طلب API(DigitalTwins GetById) أو استدعاء SDK (GetDigitalTwin) للحصول على بيانات مزدوجة بدلاً من استعلام.
تعديل توأم رقمي
يمكنك أيضًا تعديل خصائص التوأم الذي أنشأته.
قم بتشغيل الأمر التالي az dt twin update لتغيير room0's RoomName من Room0 إلى PresidentialSuite. هناك عنصر نائب واحد لاسم مضيف المثيل (يمكنك أيضا استخدام الاسم المألوف للمثيل مع انخفاض طفيف في الأداء).
az dt twin update --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room0 --json-patch '{"op":"add", "path":"/RoomName", "value": "PresidentialSuite"}'
إشعار
يوصى باستخدام CLI في بيئة Bash لهذا البرنامج التعليمي. إذا كنت تستخدم بيئة PowerShell، فقد تحتاج إلى إلغاء أحرف علامة الاقتباس حتى
--json-patch
يتم تحليل قيمة JSON بشكل صحيح.ستُظهر نتائج هذا الأمر المعلومات الحالية الخاصة بالتوأم، ويجب أن ترى القيمة الجديدة لـ
RoomName
في النتيجة.يمكنك التحقق من نجاح التحديث عن طريق تشغيل الأمر az dt twin show لمشاهدة معلومات room0. هناك عنصر نائب واحد لاسم مضيف المثيل (يمكنك أيضا استخدام الاسم المألوف للمثيل مع انخفاض طفيف في الأداء).
az dt twin show --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room0
يجب أن يعكس الإخراج الاسم المحدث.
إنشاء رسم بياني بإضافة علاقات
بعد ذلك، يمكنك إنشاء بعض العلاقات بين هذه التوائم، لتوصيلها في رسم بياني مزدوج. يتم استخدام الرسوم البيانية المزدوجة لتمثيل بيئة بأكملها.
يتم تحديد أنواع العلاقات التي يمكنك إنشاؤها من توأم إلى آخر ضمن النماذج التي قمت بتحميلها مسبقًا.
يحدد تعريف نموذج Floor أن الأرضيات يمكن أن يكون لها نوع من العلاقة يسمى contains
. نظرا لأن تعريف النموذج يحدد هذه العلاقة، فمن الممكن إنشاء contains
علاقة -type من كل توأم Floor إلى الغرفة المقابلة التي تحتوي عليها.
لإضافة علاقة، استخدم الأمر إنشاء علاقة ثنائية az dt. حدد التوأم الذي تأتي منه العلاقة ونوع العلاقة والتوأم الذي تتصل به العلاقة. وأخيرًا، امنح العلاقة معرفًا فريدًا. إذا تم تعريف علاقة على أنها تكون لها خصائص، يمكنك تهيئة خصائص العلاقة في هذا الأمر أيضًا.
قم بتشغيل التعليمات البرمجية التالية لإضافة
contains
علاقة -type من كل من توائم Floor التي قمت بإنشائها سابقا إلى توأم الغرفة المقابل. يتم تسمية العلاقات العلاقة 0 والعلاقة1. هناك عنصر نائب واحد لاسم مضيف المثيل (يمكنك أيضا استخدام الاسم المألوف للمثيل مع انخفاض طفيف في الأداء).az dt twin relationship create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --relationship-id relationship0 --relationship contains --twin-id floor0 --target room0 az dt twin relationship create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --relationship-id relationship1 --relationship contains --twin-id floor1 --target room1
تلميح
تم تعريف العلاقة
contains
في نموذج Floor أيضا بخاصيتين، وownershipDepartment
،ownershipUser
بحيث يمكنك أيضا توفير وسيطات مع القيم الأولية لها عند إنشاء العلاقات. لإنشاء علاقة مع هذه الخصائص تهيئة إضافة--properties
الخيار إلى أي من الأوامر أعلاه، مثل هذا:... --properties '{"ownershipUser":"MyUser", "ownershipDepartment":"MyDepartment"}'
سيعرض الإخراج من كل أمر معلومات حول العلاقة التي تم إنشاؤها بنجاح.
يمكنك التحقق من العلاقات باستخدام أي من الأوامر التالية، والتي تستعلم عن العلاقات في مثيل توائم Azure الرقمية. يحتوي كل أمر على عنصر نائب واحد لاسم مضيف المثيل (يمكنك أيضا استخدام الاسم المألوف للمثيل مع انخفاض طفيف في الأداء).
- لمشاهدة جميع العلاقات القادمة من كل طابق (عرض العلاقات من جانب واحد):
az dt twin relationship list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id floor0 az dt twin relationship list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id floor1
- لمشاهدة جميع العلاقات التي تصل إلى كل غرفة (عرض العلاقة من الجانب "الآخر"):
az dt twin relationship list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room0 --incoming az dt twin relationship list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room1 --incoming
- للبحث عن هذه العلاقات بشكل فردي، حسب المعرف:
az dt twin relationship show --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id floor0 --relationship-id relationship0 az dt twin relationship show --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id floor1 --relationship-id relationship1
- لمشاهدة جميع العلاقات القادمة من كل طابق (عرض العلاقات من جانب واحد):
تشكل التوائم والعلاقات التي أعددتها في هذا البرنامج التعليمي الرسم البياني التصوري التالي:
استعلم عن الرسم البياني المزدوج للإجابة عن أسئلة البيئة
الميزة الرئيسية لـ Azure Digital Twins هي القدرة على الاستعلام عن الرسم البياني للتوأم بسهولة وكفاءة للإجابة عن الأسئلة حول بيئتك. في Azure CLI، يتم الاستعلام باستخدام الأمر az dt twin query .
إشعار
بعد إجراء تغيير على البيانات في الرسم البياني، قد يكون هناك زمن انتقال مدته 10 ثوان بحد أقصى قبل ظهور التغييرات في الاستعلامات.
يُظهر DigitalTwins API التغييرات على الفور، لذا، إذا كنت بحاجة إلى استجابة فورية، استخدم طلب API(DigitalTwins GetById) أو استدعاء SDK (GetDigitalTwin) للحصول على بيانات مزدوجة بدلاً من استعلام.
قم بتشغيل الاستعلامات التالية في CLI للإجابة عن بعض الأسئلة حول بيئة العينة. يحتوي كل أمر على عنصر نائب واحد لاسم مضيف المثيل (يمكنك أيضا استخدام الاسم المألوف للمثيل مع انخفاض طفيف في الأداء).
ما هي جميع الكيانات من بيئتي ممثلة في توائم Azure الرقمية؟ (الاستعلام عن الكل)
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DIGITALTWINS"
يسمح لك هذا الاستعلام بتقييم بيئتك في لمحة، والتأكد من تمثيل كل شيء كما تريد أن يكون داخل Azure Digital Twins. نتيجة هذا الاستعلام هي إخراج يحتوي على كل توأم رقمي بتفاصيله. فيما يلي جزء:
تلميح
قد تتعرف على أن هذا هو نفس الأمر الذي استخدمته في قسم إنشاء التوائم الرقمية في وقت سابق للبحث عن كافة Azure Digital Twins في المثيل.
ما هي جميع الغرف في بيئتي؟ (الاستعلام حسب النموذج)
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DIGITALTWINS T WHERE IS_OF_MODEL(T, 'dtmi:example:Room;2')"
يمكنك تقييد استعلامك على التوائم من نوع معين، للحصول على معلومات أكثر تحديدًا حول ما يتم تمثيله. تظهر نتيجة هذا room0 و room1، ولكن لا تظهر floor0 أو floor1 (نظرا لأنها أرضيات، وليست غرفا).
ما هي جميع الغرف في الطابق0؟ (الاستعلام حسب العلاقة)
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT room FROM DIGITALTWINS floor JOIN room RELATED floor.contains where floor.\$dtId = 'floor0'"
يمكنك الاستعلام بناءً على العلاقات في الرسم البياني الخاص بك، للحصول على معلومات حول كيفية اتصال التوائم أو لتقييد الاستعلام الخاص بك بمنطقة معينة. يوضح هذا الاستعلام أيضا أنه يتم الاستعلام عن معرف التوأم (مثل floor0 في الاستعلام أعلاه) باستخدام حقل
$dtId
بيانات التعريف . الغرفة 0 فقط في الطابق 0، لذلك فهي الغرفة الوحيدة في النتيجة لهذا الاستعلام.إشعار
عند استخدام Cloud Shell لتشغيل استعلام مع حقول بيانات التعريف مثل هذه التي تبدأ ب
$
، يجب عليك الهروب$
من مع رد فعل عكسي لإعلام Cloud Shell بأنه ليس متغيرا ويجب استهلاكه كحقل في نص الاستعلام. وينعكس هذا في لقطة الشاشة أعلاه.ما هي جميع التوائم في بيئتي مع درجة حرارة أعلى من 75؟ (الاستعلام حسب الخاصية)
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DigitalTwins T WHERE T.Temperature > 75"
يمكنك الاستعلام عن الرسم البياني استنادا إلى الخصائص للإجابة عن أنواع مختلفة من الأسئلة، بما في ذلك العثور على القيم المتطرفة في بيئتك التي قد تحتاج إلى الانتباه. كما يتم دعم عوامل تشغيل المقارنة الأخرى ( <,>, =,!=). room1 يظهر في النتائج هنا، لأنه يحتوي على درجة حرارة 80.
ما هي جميع الغرف في floor0 مع درجة حرارة أعلى من 75؟ (استعلام مركب)
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT room FROM DIGITALTWINS floor JOIN room RELATED floor.contains where floor.\$dtId = 'floor0' AND IS_OF_MODEL(room, 'dtmi:example:Room;2') AND room.Temperature > 75"
يمكنك أيضًا دمج الاستعلامات السابقة كما تفعل في SQL، باستخدام عوامل تشغيل تركيبة مثل
AND
، وOR
، وNOT
. يستخدم هذا الاستعلامAND
لجعل الاستعلام السابق حول درجات الحرارة المزدوجة أكثر تحديدًا. تتضمن النتيجة الآن فقط الغرف التي تزيد درجة حرارتها عن 75، والتي تقع في floor0—وهي في هذه الحالة ليست أيًا منها. مجموعة النتائج فارغة.
تنظيف الموارد
بعد الانتهاء من هذا البرنامج التعليمي، يمكنك اختيار الموارد التي تريد إزالتها، اعتمادًا على ما تريد القيام به بعد ذلك.
- إذا كنت تخطط لمتابعة البرنامج التعليمي المقبل، يمكنك الاحتفاظ بالموارد التي قمت بإعدادها هنا لمواصلة استخدام مثيل Azure Digital Twins هذا وتكوين نموذج التطبيق للبرنامج التعليمي المقبل.
إذا كنت ترغب في متابعة استخدام مثيل Azure Digital Twins من هذه المقالة، ولكن مسح جميع نماذجه وتوائمه وعلاقاته، فقم بتشغيل الأمر az dt job deletion CLI التالي:
az dt job deletion create -n <name-of-Azure-Digital-Twins-instance> -y
إذا كنت تريد حذف بعض هذه العناصر فقط، يمكنك استخدام أوامر حذف العلاقة المزدوجة az dt وaz dt twin delete وaz dt model delete لحذف العناصر التي تريد إزالتها بشكل انتقائي فقط.
إذا لم تكن بحاجة إلى أي من الموارد التي قمت بإنشائها في هذا البرنامج التعليمي، يمكنك حذف مثيل Azure Digital Twins وجميع الموارد الأخرى من هذه المقالة باستخدام الأمر az group delete CLI. يؤدي هذا إلى حذف جميع موارد Azure الموجودة في مجموعة مورد ما، بالإضافة إلى مجموعة الموارد نفسها.
هام
حذف مجموعة الموارد لا يمكن التراجع عنه. يتم حذف مجموعة الموارد وكافة الموارد المضمنة فيها بشكل دائم. يُرجى التأكد من عدم حذف مجموعة الموارد أو الموارد غير الصحيحة عن طريق الخطأ.
افتح Azure Cloud Shell أو نافذة CLI محلية، ثم قم بتشغيل الأمر التالي لحذف مجموعة الموارد وكل ما تحتوي عليه.
az group delete --name <your-resource-group>
قد تحتاج أيضًا إلى حذف ملفات النموذج التي قمت بإنشائها على الجهاز المحلي.
الخطوات التالية
في هذا البرنامج التعليمي، كنت قد بدأت مع Azure Digital Twins عن طريق بناء الرسم البياني في مثيل الخاص بك باستخدام Azure CLI. لقد قمت بإنشاء نماذج وتوائم رقمية وعلاقات لتشكيل رسم بياني. وقمت أيضًا بتشغيل بعض الاستعلامات على الرسم البياني للحصول على فكرة عن أنواع الأسئلة التي يمكن أن تجيب عنها توائم Azure الرقمية حول البيئة.
تابع البرنامج التعليمي التالي لتكامل Azure Digital Twins مع خدمات Azure الأخرى لإكمال سيناريو شامل يعتمد على البيانات: