مشاركة عبر


نظرة عامة على وظائف Azure ل Azure Redis

توضح هذه المقالة كيفية استخدام إما Azure Managed Redis أو Azure Cache for Redis مع Azure Functions لإنشاء بنيات محسنة بلا خادم ومستندة إلى الحدث.

توفر Azure Functions نموذج برمجة يستند إلى الحدث حيث تكون المشغلات والروابط ميزات رئيسية. باستخدام Azure Functions، يمكنك بسهولة إنشاء تطبيقات بلا خادم تستند إلى الحدث. توفر خدمات Azure Redis (Azure Managed Redis وAzure Cache for Redis) مجموعة من كتل الإنشاء وأفضل الممارسات لإنشاء التطبيقات الموزعة، بما في ذلك الخدمات المصغرة وإدارة الحالة والمراسلة pub/sub والمزيد.

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

يمكنك دمج Azure Redis وAzure Functions لإنشاء وظائف تتفاعل مع الأحداث من Azure Redis أو الأنظمة الخارجية.

الإجراء الاتجاه
تشغيل على الرسائل الفرعية ل Redis pub المشغِّل
المشغل على قوائم Redis المشغِّل
المشغل على تدفقات Redis المشغِّل
قراءة قيمة مخزنة مؤقتا إدخال
كتابة قيم إلى ذاكرة التخزين المؤقت المخرجات

نطاق توفر مشغلات الوظائف والروابط

المستوى ذاكرة التخزين المؤقت Azure ل Redis (أساسي، قياسي، متميز، مؤسسة، Enterprise Flash) Azure Managed Redis (الذاكرة المحسنة، الأساسية، الحوسبة المحسنة، Flash Optimized)
النشر والاشتراك ‏‏نعم‬ ‏‏نعم‬
القوائم ‏‏نعم‬ ‏‏نعم‬
عمليات النقل المستمر ‏‏نعم‬ ‏‏نعم‬
Bindings ‏‏نعم‬ نعم

هام

مشغلات Redis مدعومة حاليا فقط للوظائف التي تعمل إما في خطة Elastic Premium أو خطة App Service مخصصة.

تثبيت الملحق

يتم تشغيل الوظائف في عملية عامل C# معزولة. لمعرفة المزيد، راجع دليل تشغيل وظائف C# Azure في عملية عامل معزولة.

أضف الملحق إلى مشروعك عن طريق تثبيت حزمة NuGet.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Redis

تثبيت الحزمة

  1. إنشاء مشروع دالة Java. يمكنك استخدام Maven: mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DjavaVersion=8

  2. أضف مجموعة الملحقات عن طريق إضافة التعليمات البرمجية التالية أو استبدالها في ملف host.json الخاص بك:

    {
      "version": "2.0",
      "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
        "version": "[4.11.*, 5.0.0)"
      }
    }
    

    تحذير

    يتوفر ملحق Redis حاليا فقط في إصدار حزمة المعاينة.

  3. أضف مكتبة Java لروابط Redis إلى pom.xml الملف:

    <dependency>
      <groupId>com.microsoft.azure.functions</groupId>
      <artifactId>azure-functions-java-library-redis</artifactId>
      <version>${azure.functions.java.library.redis.version}</version>
    </dependency>
    

أضف مجموعة الملحقات عن طريق إضافة التعليمات البرمجية التالية أو استبدالها في ملف host.json الخاص بك:

  {
    "version": "2.0",
    "extensionBundle": {
      "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
      "version": "[4.11.*, 5.0.0)"
  }
}

تحذير

يتوفر ملحق Redis حاليا فقط في إصدار حزمة المعاينة.

سلسلة الاتصال Redis

تحتوي مشغلات وروابط Azure Redis على خاصية مطلوبة تشير إلى إعداد التطبيق أو اسم المجموعة الذي يحتوي على معلومات اتصال ذاكرة التخزين المؤقت. يمكن العثور على سلسلة الاتصال في قائمة مفاتيح الوصول في مدخل Azure Managed Redis أو Azure Cache for Redis. يبحث مشغل Redis أو الربط عن متغير بيئي يحمل سلسلة الاتصال بالاسم الذي تم تمريره إلى المعلمة Connection .

في التطوير المحلي، Connection يمكن تعريف باستخدام ملف local.settings.json . عند نشرها في Azure، يمكن استخدام إعدادات التطبيق.

عند الاتصال بمثيل ذاكرة التخزين المؤقت باستخدام دالة Azure، يمكنك استخدام ثلاثة أنواع من الاتصالات في عمليات النشر الخاصة بك: سلسلة الاتصال، والهوية المدارة المعينة من قبل النظام، والهوية المدارة المعينة من قبل المستخدم.

للتطوير المحلي، يمكنك أيضا استخدام البيانات السرية الأساسية للخدمة.

هام

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

appsettings استخدم لتكوين كل نوع من الأنواع التالية من مصادقة العميل، بافتراض Connection تعيين إلى Redis في الدالة .

سلسلة الاتصال

"Redis": "<cacheName>.<region>.redis.azure.net:10000,password=..."

الهوية المُدارة التي يُعيّنها النظام

"Redis__redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis__principalId": "<principalId>"

الهوية المُدارة التي يعيّنها المُستخدم

"Redis__redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis__principalId": "<principalId>",
"Redis__clientId": "<clientId>"

سر كيان الخدمة

لا تتوفر الاتصالات التي تستخدم البيانات السرية الأساسية للخدمة إلا أثناء التطوير المحلي.

"Redis__redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis__principalId": "<principalId>",
"Redis__clientId": "<clientId>"
"Redis__tenantId": "<tenantId>"
"Redis__clientSecret": "<clientSecret>"