إنشاء ارتباط خاص مشترك لمثيل SQL مدار من Azure الذكاء الاصطناعي Search

توضح هذه المقالة كيفية تكوين مفهرس في Azure الذكاء الاصطناعي البحث عن اتصال خاص بمثيل SQL مدار يعمل داخل شبكة ظاهرية.

على اتصال خاص بمثيل مدار، يجب أن يتضمن اسم المجال المؤهل بالكامل (FQDN) للمثيل منطقة DNS. حاليا، يوفر Azure الذكاء الاصطناعي Search Management REST API معلمة resourceRegion لقبول مواصفات منطقة DNS.

على الرغم من أنه يمكنك استدعاء Management REST API مباشرة، فمن الأسهل استخدام الوحدة النمطية Azure CLI az rest لإرسال استدعاءات Management REST API من سطر الأوامر. تستخدم هذه المقالة Azure CLI مع REST لإعداد الارتباط الخاص.

إشعار

تشير هذه المقالة إلى مدخل Microsoft Azure للحصول على الخصائص وتأكيد الخطوات. ومع ذلك، عند إنشاء الارتباط الخاص المشترك لمثيل SQL المدار، تأكد من استخدام واجهة برمجة تطبيقات REST. على الرغم من أن علامة التبويب Networking تسرد Microsoft.Sql/managedInstances كخيار، لا يدعم المدخل حاليا تنسيق URL الموسع المستخدم من قبل SQL Managed Instance.

المتطلبات الأساسية

  • Azure CLI

  • Azure الذكاء الاصطناعي Search أو Basic أو أعلى. إذا كنت تستخدم الذكاء الاصطناعي الإثراء ومجموعات المهارات، فاستخدم Standard 2 (S2) أو أعلى. راجع حدود الخدمة للحصول على التفاصيل.

  • مثيل Azure SQL المدار، تم تكوينه للتشغيل في شبكة ظاهرية.

  • يجب أن يكون لديك الحد الأدنى من أذونات المساهم على كل من Azure الذكاء الاصطناعي Search وSQL Managed Instance.

  • سلسلة الاتصال مثيل Azure SQL المدار. الهوية المدارة غير مدعومة حاليا مع ارتباط خاص مشترك. يجب أن تتضمن سلسلة الاتصال اسم مستخدم وكلمة مرور.

إشعار

يتم استخدام Azure Private Link داخليا، دون أي رسوم، لإعداد الارتباط الخاص المشترك.

1 - استرداد معلومات الاتصال

استرداد FQDN للمثيل المدار، بما في ذلك منطقة DNS. منطقة DNS هي جزء من اسم المجال لمثيل SQL المدار. على سبيل المثال، إذا كان FQDN لمثيل SQL المدار هو my-sql-managed-instance.00000000000.database.windows.net، فإن منطقة DNS هي 00000000000.

  1. في مدخل Microsoft Azure، ابحث عن كائن مثيل SQL المدار.

  2. في علامة التبويب نظرة عامة ، حدد موقع الخاصية Host. انسخ جزء منطقة DNS من FQDN للخطوة التالية.

  3. في علامة التبويب سلاسل الاتصال، انسخ ADO.NET سلسلة الاتصال لخطوة لاحقة. إنها مطلوبة لاتصال مصدر البيانات عند اختبار الاتصال الخاص.

لمزيد من المعلومات حول خصائص الاتصال، راجع إنشاء مثيل Azure SQL المدار.

2 - إنشاء نص الطلب

  1. باستخدام محرر نص، قم بإنشاء JSON للارتباط الخاص المشترك.

    {
        "name": "{{shared-private-link-name}}",
        "properties": {
            "privateLinkResourceId": "/subscriptions/{{target-resource-subscription-ID}}/resourceGroups/{{target-resource-rg}}/providers/Microsoft.Sql/managedInstances/{{target-resource-name}}",
            "resourceRegion": "a1b22c333d44",
            "groupId": "managedInstance",
            "requestMessage": "please approve",
        }
    }
    
  2. أدخل اسما ذا معنى للارتباط الخاص المشترك. يظهر الارتباط الخاص المشترك جنبا إلى جنب مع نقاط النهاية الخاصة الأخرى. يمكن أن يذكرك اسم مثل "shared-private-link-for-search" بكيفية استخدامه.

  3. الصق اسم منطقة DNS في "resourceRegion" الذي قمت باسترداده في خطوة سابقة.

  4. قم بتحرير "privateLinkResourceId" لتعكس نقطة النهاية الخاصة للمثيل المدار. قم بتوفير معرف الاشتراك واسم مجموعة الموارد واسم الكائن للمثيل المدار.

  5. احفظ الملف محليا ك create-pe.json (أو استخدم اسما آخر، مع تذكر تحديث بناء جملة Azure CLI في الخطوة التالية).

  6. في Azure CLI، اكتب dir لتدوين الموقع الحالي للملف.

  1. من سطر الأوامر، سجل الدخول إلى Azure باستخدام az login.

  2. إذا كان لديك اشتراكات متعددة، فتأكد من استخدام الاشتراك الذي تنوي استخدامه: az account show.

    لتعيين الاشتراك، استخدم az account set --subscription {{subscription ID}}

  3. az rest استدعاء الأمر لاستخدام Management REST API من Azure الذكاء الاصطناعي Search.

    نظرا لأن دعم الارتباط الخاص المشترك لمثيلات SQL المدارة لا يزال قيد المعاينة، فأنت بحاجة إلى إصدار معاينة من واجهة برمجة تطبيقات REST. استخدم 2021-04-01-preview لهذه الخطوة'.

    az rest --method put --uri https://management.azure.com/subscriptions/{{search-service-subscription-ID}}/resourceGroups/{{search service-resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}/sharedPrivateLinkResources/{{shared-private-link-name}}?api-version=2021-04-01-preview --body @create-pe.json
    

    قم بتوفير معرف الاشتراك واسم مجموعة الموارد واسم الخدمة لمورد Azure الذكاء الاصطناعي Search.

    قم بتوفير نفس اسم الارتباط الخاص المشترك الذي حددته في نص JSON.

    قم بتوفير مسار إلى ملف create-pe.json إذا كنت قد انتقلت بعيدا عن موقع الملف. يمكنك الكتابة dir في سطر الأوامر لتأكيد وجود الملف في الدليل الحالي.

  4. اضغط على مفتاح الإدخال Enter لتشغيل الأمر.

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

4 - الموافقة على اتصال نقطة النهاية الخاصة

على جانب SQL Managed Instance، يجب على مالك المورد الموافقة على طلب الاتصال الخاص الذي قمت بإنشائه.

  1. في مدخل Microsoft Azure، افتح علامة التبويب Private endpoint connections للمثيل المدار.

  2. ابحث عن المقطع الذي يسرد اتصالات نقطة النهاية الخاصة.

  3. حدد الاتصال، ثم حدد موافقة. قد يستغرق تحديث الحالة في المدخل بضع دقائق.

بعد الموافقة على نقطة النهاية الخاصة، يقوم Azure الذكاء الاصطناعي Search بإنشاء تعيينات منطقة DNS الضرورية في منطقة DNS التي تم إنشاؤها لها.

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

Screenshot of the Azure portal, showing an

6 - تكوين المفهرس للتشغيل في البيئة الخاصة

يمكنك الآن تكوين مفهرس ومصدر بياناته لاستخدام اتصال خاص صادر بالمثيل المدار.

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

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

  1. إنشاء تعريف مصدر البيانات كما تفعل عادة ل Azure SQL. يختلف تنسيق سلسلة الاتصال قليلا لمثيل مدار، ولكن الخصائص الأخرى هي نفسها كما لو كنت تقوم بتكوين اتصال مصدر بيانات بقاعدة بيانات Azure SQL.

    قم بتوفير سلسلة الاتصال الذي نسخته سابقا.

    POST https://myservice.search.windows.net/datasources?api-version=2020-06-30
     Content-Type: application/json
     api-key: admin-key
     {
         "name" : "my-sql-datasource",
         "description" : "A database for testing Azure AI Search indexes.",
         "type" : "azuresql",
         "credentials" : { 
             "connectionString" : "Server=tcp:contoso.public.0000000000.database.windows.net,1433; Persist Security Info=false; User ID=<your user name>; Password=<your password>;MultipleActiveResultsSets=False; Encrypt=True;Connection Timeout=30;" 
            },
         "container" : { 
             "name" : "Name of table or view to index",
             "query" : null (not supported in the Azure SQL indexer)
             },
         "dataChangeDetectionPolicy": null,
         "dataDeletionDetectionPolicy": null,
         "encryptionKey": null,
         "identity": null
     }
    
  2. إنشاء تعريف المفهرس، وتعيين بيئة تنفيذ المفهرس إلى "خاص".

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

     POST https://myservice.search.windows.net/indexers?api-version=2020-06-30
      Content-Type: application/json
      api-key: admin-key
        {
         "name": "indexer",
         "dataSourceName": "my-sql-datasource",
         "targetIndexName": "my-search-index",
         "parameters": {
             "configuration": {
                 "executionEnvironment": "private"
             }
         },
         "fieldMappings": []
         }
    
  3. تشغيل المفهرس. إذا نجح تنفيذ المفهرس وتم ملء فهرس البحث، يعمل الارتباط الخاص المشترك.

يمكنك مراقبة حالة المفهرس في مدخل Microsoft Azure أو باستخدام واجهة برمجة تطبيقات حالة المفهرس.

يمكنك استخدام مستكشف البحث في مدخل Microsoft Azure للتحقق من محتويات الفهرس.

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

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

فيما يلي بعض التذكيرات للاختبار:

  • إذا كنت تستخدم عميل REST، فاستخدم Management REST API وإصدار 2021-04-01-Preview API لإنشاء الارتباط الخاص المشترك. استخدم Search REST API وإصدار API ثابت لإنشاء المفهرسات ومصادر البيانات واستدعائها.

  • يمكنك استخدام معالج استيراد البيانات لإنشاء مفهرس ومصدر بيانات وفهرس. ومع ذلك، لن يكون للمفهرس الذي تم إنشاؤه إعداد بيئة التنفيذ الصحيحة.

  • يمكنك تحرير مصدر البيانات ومفهرس JSON في مدخل Microsoft Azure لتغيير الخصائص، بما في ذلك بيئة التنفيذ سلسلة الاتصال.

  • يمكنك إعادة تعيين المفهرس وإعادة تشغيله في مدخل Microsoft Azure. تعد إعادة التعيين مهمة لهذا السيناريو لأنها تفرض إعادة معالجة كاملة لجميع المستندات.

  • يمكنك استخدام مستكشف البحث للتحقق من محتويات الفهرس.

(راجع أيضًا )