تمرين - اقرأ البيانات باستخدام روابط الإدخال

مكتمل

تخيل أنك تريد إنشاء خدمة بحث عن إشارة مرجعية. في البداية، خدمتك للقراءة فقط. إذا أراد المستخدمون العثور على إدخال، فإنهم يرسلون طلباً بمعرف الإدخال، وتقوم الدالة بإرجاع عنوان URL. يوضح المخطط الانسيابي التالي التدفق المنطقي.

رسم تخطيطي يوضح العملية المنطقية للبحث عن إشارة مرجعية في Azure Cosmos DB وإرجاع استجابة.

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

عندما تتلقى دالة Azure طلباً بمعرف إشارة مرجعية، فإنها تتحقق أولاً مما إذا كان الطلب صالحاً أم لا. إذا لم يكن كذلك، فسيتم إنشاء استجابة خطأ. إذا كان الطلب صالحاً، تتحقق الدالة من وجود معرف الإشارة المرجعية في قاعدة بيانات Azure Cosmos DB. إذا لم يكن موجوداً، يتم إنشاء استجابة خطأ. إذا تم العثور على معرّف الإشارة المرجعية، يتم إنشاء استجابة نجاح.

تحتاج إلى تخزين البيانات في مكان ما. في هذا المخطط الانسيابي، مخزن البيانات هو مثيل Azure Cosmos DB. لكن كيف يمكنك الاتصال بقاعدة بيانات من دالة وبيانات قراءة؟ في عالم الوظائف، يمكنك تكوين ربط إدخال لتلك المهمة. يعد تكوين ربط إدخال من خلال مدخل Microsoft Azure أمراً سهلاً. كما ترى قريبا، ليس عليك كتابة التعليمات البرمجية أو فتح اتصال تخزين. وقت تشغيل وظائف «Azure» وتراعي الروابط هذه المهام لك.

إنشاء حساب Azure Cosmos DB

إشعار

هذا التمرين غير مخصص ليكون برنامج تعليمي على قاعدة Azure Cosmos DB. إذا كنت مهتماً بمعرفة المزيد، فراجع مسار التعلم الكامل حول Azure Cosmos DB في نهاية هذه الوحدة النمطية.

أنشئ «حساب قاعدة البيانات».

حساب قاعدة بيانات هو حاوية لإدارة قاعدة بيانات أو أكثر. قبل أن نتمكن من إنشاء قاعدة بيانات، نحن بحاجة إلى «إنشاء حساب قاعدة بيانات».

  1. في قائمة الموارد مدخل Microsoft Azure أو من الصفحة Home، حدد Create a resource. يظهر إنشاء جزء مصدر.

  2. في قائمة Create a resource، حدد Databases، ثم ابحث عن وحدد Azure Cosmos DB. يظهر جزء ما هي واجهة برمجة التطبيقات التي تناسب حمل العمل الخاص بك على أفضل نحو؟

  3. في خيار Azure Cosmos DB for NoSQL ، حدد Create حتى نتمكن من إنشاء مشغل Cosmos DB وارتباطات الإدخال/الإخراج. يظهر جزء Create Azure Cosmos DB Account - Azure Cosmos DB for NoSQL.

  4. في علامة التبويب "Basics"، أدخل القِيم التالية لكل إعداد.

    الإعداد قيمة ‏‏الوصف
    تفاصيل المشروع
    الاشتراك اشتراك Concierge اشتراك Azure الذي يعمل مع الموارد الموجودة في وضع الحماية.
    مجموعة الموارد من القائمة المنسدلة، حدد [sandbox resource group name] مجموعة الموارد لوضع الحماية الخاص بك.
    تفاصيل المثيل
    اسم الحساب globally unique name أدخل اسماً فريداً ولكن يمكن التعرف عليه لحساب Azure Cosmos DB الخاص بك؛ وتم إلحاق documents.azure.com بالاسم الذي تقدمه.

    3 - 50 lowercase characters, numbers, or hyphens (-).
    الموقع region حدد المنطقة الأقرب إليك.
  5. اقبل القيم الافتراضية للإعدادات المتبقية، وحدد Review + create للتحقق من صحة إدخالك. يظهر إعلام Validation Success.

  6. حدد Create لتوفير وتوزيع حساب قاعدة بيانات.

  7. قد يستغرق النشر بعض الوقت. انتظر حتى ظهور رسالة Deployment succeeded في مركز الإشعارات قبل المتابعة.

    لقطة شاشة لإع إعلام باكتمال نشر حساب قاعدة البيانات.

  8. حدد Go to resource للانتقال إلى حساب قاعدة البيانات في المدخل. يظهر جزء Quick start لحسابك في Azure Cosmos DB.

بعد ذلك، نضيف حاوية ثم نضيف قاعدة بيانات إلى حساب Azure Cosmos DB.

إضافة حاوية

في Azure Cosmos DB، تُستخدم الحاوية لتخزين مجموعة متنوعة من الكيانات التي أنشأها المستخدم، والتي تسمى أيضًا العناصر. نقوم بإنشاء حاوية تسمى Bookmarks.

لنستخدم أداة Data Explorer لإنشاء قاعدة بيانات وحاوية.

  1. في قائمة حساب Azure Cosmos DB، حدد Data Explorer. يظهر جزء Data Explorer لحساب Cosmos DB الخاص بك.

  2. حدد المربع New Container. يظهر جزء New Container. قد تحتاج إلى التمرير لرؤيته.

  3. أدخل القيم التالية لكل إعداد.

    الإعداد قيمة ‏‏الوصف
    مُعرِّف قاعدة البيانات حدد Create new، وأدخل func-io-learn-db لمعرف قاعدة البيانات يمكن أن يتراوح طول أسماء قواعد البيانات من 1 إلى 255 حرفا، ولا يمكن أن تحتوي على /, \\, #, ?، أو مسافة زائدة.
    يمكنك إدخال ما تريد، لكننا نستخدم func-io-learn-db في هذه الوحدة.
    الحد الأقصى لعدد وحدات الطلب في قاعدة البيانات / ثانية 4000 اقبل معدل النقل الافتراضي البالغ 4000 وحدة طلب في الثانية (RU/s). لتقليل وقت الاستجابة، يمكنك رفع مستوى الأداء لاحقاً.
    معرف الحاوية الاشارات المرجعيه معرفات الحاويات تستلزم متطلبات الحروف نفسها كأسماء قواعد البيانات. نحن نستخدم Bookmarks في هذه الوحدة.
    ⁧ مفتاح التقسيم⁧ /id يُحدد مفتاح القسم كيفية توزيع المستندات في مجموعات قاعدة بيانات Azure Cosmos عبر أقسام البيانات المنطقية. نستخدم إعداد مفتاح القسم كوسيلة ملائمة هنا لأننا لسنا مهتمين بأداء قاعدة البيانات في هذه الوحدة النمطية. لمعرفة المزيد حول إستراتيجيات قسم Azure Cosmos DB، استكشف وحدات Microsoft Learn Azure Cosmos DB.

    اقبل الإعدادات الافتراضية لجميع الإعدادات الأخرى.

  4. قم بالتمرير إلى أسفل الجزء وحدد OK. انتظر بضع دقائق لبناء قاعدة البيانات والحاوية.

    عند الانتهاء، يعرض مستكشف البيانات func-io-learn-db في DATA ضمن NOSQL API.

  5. حدد func-io-learn-db لتوسيعه. لاحظ أن قاعدة بيانات func-io-learn-db تحتوي على العديد من الأعضاء التابعين، بما في ذلك المقياس والإشارات المرجعية.

  6. قم بتوسيع حاوية Bookmarks . لاحظ أن العديد من الأعضاء التابعين بالفعل ملء مسبقا.

في المهمة التالية، يمكنك إضافة بعض البيانات، المعروفة أيضا باسم العناصر، إلى حاوية Bookmarks.

«إضافة بيانات الاختبار»

تريد إضافة البيانات إلى حاوية Bookmarks. استخدم Data Explorer لتخزين عنوان URL ومعرف لكل عنصر.

  1. قم بتوسيع قاعدة بيانات func-io-learn-db وحاوية Bookmarks، ثم حدد Items. تظهر علامة التبويب items.

  2. في شريط الأوامر، حدد New Item.

  3. استبدل التعليمة البرمجية الافتراضية للعنصر الجديد بتعليمة JSON البرمجية التالية.

    {
        "id": "docs",
        "url": "https://learn.microsoft.com/azure"
    }
    
  4. في شريط الأوامر، حدد Save.

    لاحظ ظهور خصائص أكثر من السطرين اللذين أضفناهما. تبدأ جميعها بتسطير (_rid, _self, _etag, _attachments, _ts). يتم إنشاء هذه الخصائص، الموضحة في الجدول التالي، للمساعدة في إدارة العناصر التي تضيفها إلى الحاوية.

    الخاصية ‏‏الوصف
    _rid "معرّف المورد" هو معرّف فريد عمومي ذو تسلسل هرمي أيضًا لكل مكدس الموارد على نموذج المورد. يتم استخدام المعرف داخليا لوضع مورد العنصر والتنقل فيه.
    _self URI القابل للتوجيه الفريد للمورد.
    _etag مطلوب للمراقبة المتزامنة المتفائلة.
    _attachments المسار القابل للتوجيه لمورد المرفقات.
    _ts الطابع الزمني لآخر تحديث لهذا المورد.
  5. دعنا نضِف بعض العناصر الأخرى في حاوية Bookmarks. في شريط الأوامر، حدد New Item. إنشاء أربعة عناصر أخرى بالمحتوى التالي. أضف العناصر عن طريق تحديد عنصر جديد، ثم تحديد حفظ بعد نسخ كل عنصر جديد ولصقه. لاحظ كيف تتم إضافة كل عنصر إلى قائمة العناصر.

    {
        "id": "portal",
        "url": "https://portal.azure.com"
    }
    
    {
        "id": "learn",
        "url": "https://learn.microsoft.com/training"
    }
    
    {
        "id": "marketplace",
        "url": "https://azuremarketplace.microsoft.com/marketplace/apps"
    }
    
    {
        "id": "blog",
        "url": "https://azure.microsoft.com/blog"
    }
    
  6. عند الانتهاء من إدخال بيانات الإشارة المرجعية، يجب أن تبدو الحاوية الخاصة بك مثل الصورة التالية.

    لقطة شاشة لبيانات واجهة برمجة تطبيقات SQL تعرض مجموعة من العناصر في حاوية الإشارات المرجعية في func-io-learn-db.

تحتوي حاوية الإشارات المرجعية على خمسة عناصر. في هذا السيناريو، إذا وصل طلب مع "id=docs"، فإنه يبحث عن هذا المعرف في حاوية Bookmarks الخاصة بك، ويعيد عنوان URL https://learn.microsoft.com/azure. لننشئ دالة Azure تبحث عن القيم في حاوية الإشارات المرجعية.

«إنشاء وظيفتك»

  1. انتقل إلى تطبيق الوظائف الذي أنشأته في الوحدة السابقة. في قائمة الموارد، حدد Home، وفي قسم Recent resources، يجب أن ترى تطبيق الدالة (Type يساوي Function App). حدد تطبيق الوظائف. يظهر الجزء Function App.

  2. في علامة التبويب Functions في صفحة Overview ، يجب أن يكون لديك دالة واحدة، HttpTrigger1.

  3. لنقم بإنشاء دالة أخرى. حدد Create في علامة التبويب Functions . يظهر جزء Create function ، مع سرد القوالب للمشغلات المدعومة.

  4. في قسم Select a template ، حدد HTTP trigger، ثم حدد Next.

  5. اقبل جميع الإعدادات الافتراضية وحدد Create لإنشاء دالتك.

    سيظهر جزء نظرة عامة للدالة HttpTrigger2.

«تحقق من الوظيفة»

يمكنك التحقق من تقدمنا حتى الآن عن طريق اختبار الدالة الجديدة.

  1. في شريط الأوامر اختر Get function URL. يظهر مربع حوار Get function URL.

  2. حدد default (function key) من القائمة المنسدلة، ثم حدد أيقونة Copy to clipboard ، وحدد OK.

  3. الصق عنوان URL الخاص بالدالة الذي نسخته في شريط العنوان لعلامة تبويب متصفح جديدة. قم بإلحاق قيمة سلسلة الاستعلام &name=<your name> بنهاية عنوان URL، مع استبدال <your name> باسمك، ثم اضغط على Enter. يجب أن تقوم دالة Azure بإرجاع استجابة مخصصة في المتصفح.

الآن بعد أن عملنا على دالة الهيكلية، دعنا نوجه انتباهنا إلى قراءة البيانات من Azure Cosmos DB الخاص بك، أو في السيناريو الخاص بنا، من حاوية Bookmarks.

إضافة رابط إدخال قاعدة بيانات Azure Cosmos

لقراءة البيانات من قاعدة البيانات، تحتاج إلى تعريف رابط الإدخال. كما ترى هنا، يمكنك تكوين ربط يمكنه التحدث إلى قاعدة البيانات الخاصة بك في بضع خطوات فقط.

  1. في مدخل Microsoft Azure، في قائمة HttpTrigger2 Function على طول الجزء العلوي، حدد Integration. يظهر جزء Integration للدالة الخاصة بك.

    لقد استخدمت قالباً أنشأ طلب تشغيل HTTP مع ربط ناتج HTTP. دعنا نضِف ربط إدخال Azure Cosmos DB.

  2. في مربع Trigger and inputs ، حدد Add input. يظهر جزء Create Input.

  3. من القائمة المنسدلة نوع الربط، حدد Azure Cosmos DB.

  4. في قسم Azure Cosmos DB details، ضمن إعدادات Cosmos DB account connection، حدد ارتباط New. يظهر مربع حوار New Cosmos DB connection.

    إذا ظهرت رسالة تطالبك بتثبيت ملحق Microsoft.Azure.WebJobs.Extensions.CosmosDB، حددinstall، وانتظر حتى تكتمل.

  5. بشكل افتراضي، يتعرف Azure على حساب Azure Cosmos DB الذي قمت بإنشائه مسبقاً. حدد OK لإعداد اتصال بقاعدة البيانات الخاصة بك. تم تكوين اتصال جديد بحساب قاعدة البيانات ويظهر في حقل اتصال حساب Cosmos DB.

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

  6. دعنا نكمل الإعدادات في جزء Create Input. أدخل القيم التالية لكل إعداد. لمعرفة المزيد حول الغرض من كل إعداد، حدد أيقونة المعلومات في هذا الحقل.

    الإعداد قيمة ‏‏الوصف
    اسم معلمة المستند bookmark الاسم المستخدم لتعريف هذا الرابط في رمزك.
    اسم قاعدة البيانات func-io-learn-db قاعدة البيانات للعمل معها. هذه القيمة هي اسم قاعدة البيانات التي قمنا بتعيينها.
    اسم المجموعة Bookmarks المجموعة التي نقرأ البيانات منها. تم تحديد هذا الإعداد.
    معرف المستند id أضف معرف المستند الذي حددناه عندما أنشأنا حاوية Bookmarks Azure Cosmos DB.
    مفتاح التقسيم⁧ /id أضف مفتاح القسم الذي حددته عند إنشاء مجموعة Bookmarks Azure Cosmos DB. يجب أن يتطابق المفتاح الذي تم إدخاله هنا (المحدد بتنسيق ربط <key>الإدخال) مع المفتاح الموجود في المجموعة.
    استعلام SQL (اختياري) اتركه فارغا أنت تقوم باسترداد مستند واحد فقط في كل مرة استنادا إلى المعرف. لذلك، تعتبر التصفية باستخدام إعداد معرّف المستند أفضل من استخدام استعلام SQL في هذا المثيل. يمكنك صياغة استعلام SQL لإرجاع إدخال واحد (SELECT * from b where b.ID = id). سيُعيد الاستعلام بالفعل مستندًا، ولكنه سيعود في مجموعة مستندات. يجب أن تكون التعليمات البرمجية الخاصة بك لمعالجة مجموعة غير ضرورية. استخدم نهج استعلام SQL عندما تريد الحصول على مستندات متعددة.

    لتوضيح سبب استخدامنا لهذه الإعدادات، نريد البحث عن إشارة مرجعية بمعرف محدد، لذلك قمنا بربط معرّف المستند الذي تتلقاه الدالة في سلسلة الاستعلام بربط الإدخال. يعرف بناء الجملة هذا باسم تعبير الربط. يتم تشغيل الوظيفة بواسطة طلب بروتوكول نص تشعبي يستخدم سلسلة استعلام لتحديد المعرّف للبحث عنه. نظرا لأن المعرفات فريدة في مجموعتنا، فإن الربط يرجع إما 0 (غير موجود) أو 1 (تم العثور عليه).

  7. لحفظ تكوين ربط الإدخال هذا، حدد إضافة.

تحديث تنفيذ الدالة

الآن بعد أن تم تعريف الربط الخاص بك، يمكنك استخدامه في الدالة الخاصة بك. تحتاج إلى إجراء تغييرين لتنفيذ الربط الذي قمت بإنشائه:

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

  • تعديل التعليمات البرمجية لتنفيذ JSON للدالة بحيث تقبل معلمة يتم تمريرها في سلسلة الاستعلام.

عدل التعليمة البرمجية لتنفيذ JavaScript الخاصة بدالتك

  1. في قائمة Function لدالة HttpTrigger2، حدد Code + Test. سيظهر جزء Code + Test لدالتك HttpTrigger2.

  2. استبدل كل التعليمات البرمجية في ملف index.js بالتعليمة البرمجية التالية.

    module.exports = function (context, req) {
    
        var bookmark = context.bindings.bookmark
    
        if(bookmark){
            context.res = {
            body: { "url": bookmark.url },
            headers: {
                'Content-Type': 'application/json'
            }
            };
        }
        else {
            context.res = {
                status: 404,
                body : "No bookmarks found",
                headers: {
                'Content-Type': 'application/json'
                }
            };
        }
    
        context.done();
    };
    
  3. في شريط الأوامر، حدد Save. حدد Filesystem Logs في القائمة المنسدلة في أعلى وسط جزء السجلات (الذي يعرض App Insights Logs بشكل افتراضي). يظهر جزء Logs، ويظهر أن لديك Connected!

دعونا ندرس ما تفعله هذه التعليمات البرمجية.

  • يقوم طلب HTTP الوارد بتشغيل الوظيفة، ويتم تمرير معلمة id استعلام إلى ربط إدخال Azure Cosmos DB.

  • إذا وجدت قاعدة البيانات مستندا يتطابق مع هذا المعرف، يتم تعيين المعلمة bookmark إلى المستند الموجود.

    في هذا المثال، تُنشئ التعليمة البرمجية استجابة تحتوي على قيمة URL الموجودة في المستند المقابل لقاعدة البيانات.

  • إذا لم يتم العثور على مستند يطابق هذا المفتاح، فسيستجيب الطلب بحمولة بيانات أساسية وتعليمة برمجية للحالة يخبر المستخدم بالأخبار السيئة.

عدل التعليمة البرمجية لتنفيذ JSON الخاصة بدالتك

  1. حدد function.json من القائمة المنسدلة في المسار.<functionapp> \ HttpTrigger2 \

  2. استبدل كافة التعليمات البرمجية في ملف function.json بالتعليمات البرمجية التالية. تأكد واستبدل your-database باسم حساب Azure Cosmos DB الخاص بك.

    {
      "bindings": [
        {
          "authLevel": "function",
          "type": "httpTrigger",
          "direction": "in",
          "name": "req",
          "methods": [
            "get",
            "post"
          ]
        },
        {
          "type": "http",
          "direction": "out",
          "name": "res"
        },
        {
          "name": "bookmark",
          "direction": "in",
          "type": "cosmosDB",
          "partitionKey": "{id}",
          "databaseName": "func-io-learn-db",
          "containerName": "Bookmarks",
          "connection": "your-database_DOCUMENTDB",
          "id": "{id}",
        }
      ]
    }
    
  3. في شريط الأوامر، حدد Save.

عدل التعليمات البرمجية لتنفيذ PowerShell لدالتك

  1. في قائمة Function لدالة HttpTrigger2، حدد Code + Test. يظهر جزء Code + Test لدالة HttpTrigger2، ويعرض ملف run.ps1.

  2. استبدل كل التعليمات البرمجية الموجودة في ملف run.ps1 بالتعليمة البرمجية التالي.

    using namespace System.Net
    
    param($Request, $bookmark, $TriggerMetadata)
    
    if ($bookmark) {
        $status = [HttpStatusCode]::OK
        $body = @{ url = $bookmark.url }
    }
    else {
        $status = [HttpStatusCode]::NotFound
        $body = "No bookmarks found"
    }
    
    Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
        StatusCode = $status
        Body = $body
    })
    
  3. في شريط الأوامر، حدد Save. حدد Filesystem Logs في القائمة المنسدلة في أعلى وسط جزء السجلات (الذي يعرض App Insights Logs بشكل افتراضي). يظهر جزء Logs، ويظهر أن لديك Connected!

دعونا ندرس ما تفعله هذه التعليمات البرمجية.

  • يقوم طلب HTTP الوارد بتشغيل الوظيفة، ويتم تمرير معلمة id استعلام إلى ربط إدخال Azure Cosmos DB.

  • إذا وجدت قاعدة البيانات مستندا يتطابق مع هذا المعرف، يتم تعيين المعلمة bookmark إلى المستند الموجود.

    في هذا المثال، تُنشئ التعليمة البرمجية استجابة تحتوي على قيمة URL الموجودة في المستند المقابل لقاعدة البيانات.

  • إذا لم يتم العثور على مستند يطابق هذا المفتاح، فسيستجيب الطلب بحمولة بيانات أساسية وتعليمة برمجية للحالة يخبر المستخدم بالأخبار السيئة.

عدل التعليمة البرمجية لتنفيذ JSON الخاصة بدالتك

  1. حدد function.json من القائمة المنسدلة في المسار.<functionapp> \ HttpTrigger2 \

  2. عدل القيم id و partitionKey بحيث تقبل معلمة من {id}. يجب أن تشبه شفرة function.json المثال التالي، حيث يتم استبدال your-database باسم قاعدة بيانات Cosmos DB الخاصة بك.

    {
      "bindings": [
        {
          "authLevel": "function",
          "type": "httpTrigger",
          "direction": "in",
          "name": "Request",
          "methods": [
            "get",
            "post"
          ]
        },
        {
          "type": "http",
          "direction": "out",
          "name": "Response"
        },
        {
          "type": "cosmosDB",
          "name": "bookmark",
          "databaseName": "func-io-learn-db",
          "containerName": "Bookmarks",
          "connection": "your-database_DOCUMENTDB",
          "direction": "in",
          "id": "{id}",
          "partitionKey": "{id}"
        }
      ]
    }
    
  3. في شريط الأوامر، حدد Save.

عليك تجربة ذلك

  1. يجب أن تكون بالفعل في جزء Code + Test لدالة HttpTrigger2.

  2. في شريط الأوامر اختر Get function URL. يظهر مربع حوار Get function URL.

  3. من القائمة المنسدلة Key، حدد default ضمن Function key، ثم حدد أيقونة Copy to clipboard في نهاية عنوان URL.

  4. ألصق مفتاح الدالة الذي نسخته في شريط العناوين لعلامة تبويب متصفح جديدة، ثم أضف قيمة سلسلة الاستعلام &id=docs في نهاية عنوان URL. يجب أن يكون عنوان URL الناتج مشابهاً للمثال التالي:

    https://example.azurewebsites.net/api/HttpTrigger2?code=AbCdEfGhIjKlMnOpQrStUvWxYz==&id=docs

  5. اضغط على Enter لتشغيل الطلب. يجب أن تكون الاستجابة التي ترجعها وظيفتك مشابهة للمثال التالي.

    {
      "url": "https://learn.microsoft.com/azure"
    }
    
  6. استبدل &id=docs ليحل محله &id=missing، واضغط على Enter، ولاحظ الاستجابة. لقد حددنا خمس إشارات مرجعية، وأنشأنا استجابة ذات مغزى للخطأ في حالة عدم وجود الإشارة المرجعية المطلوبة.

في هذه الوحدة، قمت بإنشاء رابط الإدخال الأول يدويًا للقراءة من قاعدة بيانات Azure Cosmos. كمية الرموز التي دونتها للبحث في قاعدة البيانات وقراءة البيانات كانت ضئيلة، وذلك بفضل الروابط. لقد أديت بمعظم عملك في تكوين الربط بشكل معلن، وتولى النظام الأساسي الباقي.

في الوحدة التالية، ستقوم بإضافة المزيد من البيانات إلى مجموعة الإشارات المرجعية من خلال رابط إخراج قاعدة بيانات Azure Cosmos.