في هذا البرنامج التعليمي ستتعلم كيفية دمج خدمة Azure الذكاء الاصطناعي Vision في تطبيق ويب لإنشاء بيانات تعريف للصور التي تم تحميلها. وهذا مفيد لسيناريوهات إدارة الأصول الرقمية (DAM) كما في حالة إذا كانت الشركة تريد إنشاء تسميات توضيحية وصفية بسرعة أو كلمات رئيسية قابلة للبحث لجميع صورها.
ستستخدم Visual Studio لكتابة تطبيق ويب MVC يقبل الصور التي يتم يحملها المستخدمون ويخزن الصور في مخزن Azure للبيانات الثنائية الكبيرة. ستتعلم كيفية قراءة وكتابة الكائنات الثنائية كبيرة الحجم في C# واستخدام بيانات تعريف الكائنات الثنائية الكبيرة لإرفاق معلومات إضافية إلى الكائنات الثنائية الكبيرة التي تنشئها. ثم سترسل كل صورة تم تحميلها بواسطة المستخدم إلى واجهة برمجة تطبيقات Azure الذكاء الاصطناعي Vision لإنشاء تسمية توضيحية وبيانات تعريف البحث عن الصورة. وأخيرًا يمكنك نشر التطبيق على السحابة باستخدام Visual Studio.
يعد القسم استخدام Azure الذكاء الاصطناعي Vision لإنشاء بيانات تعريف أكثر صلة بتحليل الصور. انتقل إليه إذا كنت تريد فقط أن ترى كيف يتم تكامل تحليل الصور في تطبيق تم إنشائه.
في هذا القسم ستستخدم مدخل Azure لإنشاء حساب تخزين. ثم ستنشئ زوجًا من الحاويات: واحدة لتخزين الصور التي يحملها المستخدم وأخرى لتخزين الصور المصغرة المنشأة من الصور التي تم تحميلها.
أدخل اسمًا فريدًا لحساب التخزين في Name وتأكد من ظهور علامة اختيار خضراء بجواره. الاسم مهم لأنه يشكل جزءًا واحدًا من عنوان URL يتم من خلاله الوصول إلى الكائنات الثنائية الكبيرة التي تم إنشاؤها ضمن هذا الحساب. ضع حساب التخزين في مجموعة موارد جديدة تسمى "IntellipixResources" وحدد المنطقة الأقرب إليك. قم بالإنهاء عن طريق تحديد الزر Review + create في أسفل الشاشة لإنشاء حساب تخزين جديد.
يمكن أن يتراوح طول أسماء حسابات التخزين من 3 إلى 24 حرفًا ويمكن أن تحتوي فقط على أرقام وأحرف صغيرة. بالإضافة إلى ذلك يجب أن يكون الاسم الذي تدخله فريدًا داخل Azure. إذا اختار شخص آخر نفس الاسم سيتم إعلامك بأن الاسم غير متوفر مع ظهور علامة تعجب حمراء في حقل Name.
في علامة التبويب التي تفتح لمجموعة الموارد حدد حساب التخزين الذي أنشأته. إذا لم يكن حساب التخزين موجودا بعد يمكنك تحديد تحديث في أعلى علامة التبويب حتى يظهر.
بشكل افتراضي تكون الحاويات ومحتوياتها خاصة. اختيار Blob كمستوى وصول يجعل الكائنات الثنائية الكبيرة في حاوية "photos" متاحة للجمهور ولكن لا يجعل الحاوية نفسها عامة. هذا ما تريده لأن الصور المخزنة في حاوية الصور سيتم ربطها من تطبيق ويب.
كرر الخطوة السابقة لإنشاء حاوية للصور المصغرة تسمى "thumbnails مرة أخرى مع الحرص على تعيين مستوى الوصول العام الحاوية إلى Blob.
أغلق شاشة "Blob service". حدد مفاتيح الوصول في القائمة على الجانب الأيمن من شاشة حساب التخزين ثم حدد الزر نسخ بجوار مفتاحالمفتاح 1. الصق مفتاح الوصول هذا في محرر النص المفضل لديك لاستخدامه لاحقًا.
لقد أنشأت الآن حساب تخزين للاحتفاظ بالصور التي تم تحميلها إلى التطبيق الذي ستنشئه وحاويات لتخزين الصور فيها.
Azure Storage Explorer هي أداة مجانية توفر واجهة رسومية للعمل مع Azure Storage على أجهزة الكمبيوتر التي تعمل بأنظمة Windows وmacOS وLinux. وتوفر معظم الوظائف نفسها التي يتيحها مدخل Azure كما تقدم ميزات أخرى مثل القدرة على عرض بيانات تعريف الكائنات الثنائية كبيرة الحجم. في هذا القسم ستستخدم مستكشف تخزين Microsoft Azure لعرض الحاويات التي أنشأتها في القسم السابق.
بدء مستكشف التخزين. إذا طلب منك تسجيل الدخول فاستخدم حساب Microsoft نفسه الذي استخدمته لتسجيل الدخول إلى مدخل Microsoft Azure. إذا لم تشاهد حساب التخزين في الجزء الأيمن من Storage Explorer فحدد الزر إدارة الحسابات المميز أدناه وتأكد من إضافة كل من حساب Microsoft والاشتراك المستخدم لإنشاء حساب التخزين إلى Storage Explorer.
حدد السهم الصغير بجوار حساب التخزين لعرض محتوياته ثم حدد السهم بجوار حاويات Blob. تأكد من ظهور الحاويات التي أنشأتها في القائمة.
الحاويات فارغة حاليًا ولكن هذا سيتغير بمجرد نشر تطبيقك وبدء تحميل الصور. سيسهل عليك تثبيت مستكشف التخزين معرفة ما يكتبه تطبيقك إلى مخزن البيانات الثنائية الكبيرة.
في هذا القسم ستنشئ تطبيق ويب جديد في Visual Studio وتضيف تعليمات برمجية لتنفيذ الوظائف الأساسية المطلوبة لتحميل الصور وكتابتها إلى مخزن البيانات الثنائية الكبيرة وعرضها في صفحة ويب.
خذ بعض الوقت لمراجعة بنية المشروع في مستكشف الحلول. من بين أمور أخرى هناك مجلد يسمى Controllers يحتوي على وحدات تحكم MVC للمشروع ومجلد اسمه Views يحتوي على طرق عرض المشروع. سوف تستخدم الأصول في هذه المجلدات وغيرها أثناء تنفيذ التطبيق.
أغلق المستعرض وعد إلى Visual Studio. في مستكشف الحلول انقر بزر الماوس الأيمن فوق مشروع Intellipix وحدد Manage NuGet Packages.... حدد استعراض. ثم اكتب imageresizer في مربع البحث وحدد حزمة NuGet المسماة ImageResizer. وأخيرا حدد تثبيت لتثبيت أحدث إصدار مستقر من الحزمة. يحتوي ImageResizer على واجهات برمجة التطبيقات التي ستستخدمها لإنشاء صور مصغرة من الصور التي تم تحميلها إلى التطبيق. وافق على أية تغييرات واقبل أية تراخيص تُعرض عليك.
كرر هذه العملية لإضافة حزمة NuGet المسماة WindowsAzure.Storage إلى المشروع. تحتوي هذه الحزمة على واجهات برمجة التطبيقات للوصول إلى Azure Storage من تطبيقات .NET. وافق على أية تغييرات واقبل أية تراخيص تُعرض عليك.
افتح Web.configثم أضف العبارة التالية إلى القسم لاستبدال ACCOUNT_NAME باسم حساب التخزين الذي أنشأته في القسم الأول ACCOUNT_KEY بمفتاح الوصول الذي قمت بحفظه.
يهدف ملف Web.config إلى الاحتفاظ بمعلومات حساسة مثل مفاتيح الاشتراك الخاصة بك ويتم التعامل مع أي طلب HTTP إلى ملف بملحق .config بواسطة محرك ASP.NET الذي يقوم بإرجاع رسالة "هذا النوع من الصفحات غير خدم". ومع ذلك إذا كان المهاجم قادرا على العثور على بعض الاستغلال الآخر الذي يسمح له بعرض محتويات Web.config الخاصة بك فسيتمكن من كشف هذه المعلومات. راجع حماية سلاسل الاتصال ion ومعلومات التكوين الأخرى للحصول على خطوات إضافية يمكنك اتخاذها لتأمين بيانات Web.config بشكل أكبر.
افتح الملف المسمى _Layout.cshtml في مجلد المشروع Views/Shared. في السطر 19 قم بتغيير "اسم التطبيق" إلى "Intellipix". يجب أن يبدو السطر كما يلي:
في مشروع MVC ASP.NET _Layout.cshtml هي طريقة عرض خاصة بمثابة قالب لطرق عرض أخرى. عادة ما تقوم بتعريف رأس وتذييل المحتوى المشترك في كل طرق العرض في هذا الملف.
03c5feb9e7