ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يساعدك Azure Web PubSub على إنشاء تطبيقات ويب مراسلة في الوقت الحقيقي باستخدام WebSocket. تساعدك Azure Static Web Apps على إنشاء تطبيقات ويب كاملة المكدس ونشرها تلقائيا إلى Azure من مستودع التعليمات البرمجية. في هذا البرنامج التعليمي، ستتعلم كيفية استخدام Web PubSub و Static Web Apps معا لإنشاء تطبيق غرفة محادثة في الوقت الحقيقي.
وبشكل أكثر تحديدا، ستتعلم كيفية:
- إنشاء تطبيق دردشة بلا خادم
- العمل مع روابط إدخال وإخراج وظيفة Web PubSub
- العمل مع Static Web Apps
هام
تظهر سلسلة الاتصال الأولية في هذه المقالة لأغراض العرض التوضيحي فقط.
سلسلة اتصال تتضمن معلومات التخويل المطلوبة لتطبيقك للوصول إلى خدمة Azure Web PubSub. مفتاح الوصول داخل سلسلة الاتصال يشبه كلمة مرور الجذر للخدمة الخاصة بك. في بيئات الإنتاج، قم دائما بحماية مفاتيح الوصول الخاصة بك. استخدم Azure Key Vault لإدارة مفاتيحك وتدويرها بأمان وتأمين اتصالك ب WebPubSubServiceClient
.
تجنب توزيع مفاتيح الوصول إلى مستخدمين آخرين، أو ترميزها ترميزًا ثابتًا، أو حفظها في أي مكان في نص عادي يمكن للآخرين الوصول إليه. قم بتدوير المفاتيح الخاصة بك إذا كنت تعتقد أنها قد تعرضت للخطر.
نظرة عامة
يوفر GitHub أو Azure Repos التحكم بالمصادر لتطبيقات الويب الثابتة. يراقب Azure فرع المستودع الذي تحدده، وفي كل مرة يحدث فيها تغيير في التعليمات البرمجية إلى المستودع المصدر، يتم تشغيل بنية جديدة لتطبيق الويب ونشرها تلقائيا في Azure. يتم توفير التسليم المستمر بواسطة GitHub Actions وAzure Pipelines. تكتشف Static Web Apps الإصدار الجديد وتقدمه إلى مستخدم نقطة النهاية.
يحتوي نموذج تطبيق غرفة المحادثة المقدم مع هذا البرنامج التعليمي على سير العمل التالي.
- عندما يقوم مستخدم بتسجيل الدخول إلى التطبيق، يتم تشغيل Azure Functions
login
API لإنشاء عنوان URL لاتصال عميل خدمة Web PubSub. - عندما يقوم العميل بتهيئة طلب الاتصال إلى Web PubSub، ترسل الخدمة حدث نظام
connect
يقوم بتشغيل Functionsconnect
API لمصادقة المستخدم. - عندما يرسل عميل رسالة إلى خدمة Azure Web PubSub، تستجيب الخدمة بحدث مستخدم
message
ويتم تشغيل Functionsmessage
API للبث، والرسالة إلى جميع العملاء المتصلين. - يتم تشغيل Functions
validate
API بشكل دوري لحماية إساءة استخدام CloudEvents عند تكوين الأحداث في Azure Web PubSub باستخدام معلمة{event}
معرفة مسبقا ، أي https://$STATIC_WEB_APP/api/{event}.
إشعار
يتم تشغيل واجهات برمجة تطبيقات connect
الوظائف و message
عند تكوين خدمة Azure Web PubSub مع هذين الحدثين.
المتطلبات الأساسية
- حساب GitHub.
- حساب Azure . إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.
- Azure CLI (الإصدار 2.29.0 أو أعلى) أو Azure Cloud Shell لإدارة موارد Azure.
إنشاء مورد Web PubSub
قم بتسجيل الدخول إلى CLI Azure باستخدام الأمر التالي.
az login
قم بإنشاء مجموعة موارد.
az group create \ --name my-awps-swa-group \ --location "eastus2"
إنشاء مورد Web PubSub.
az webpubsub create \ --name my-awps-swa \ --resource-group my-awps-swa-group \ --location "eastus2" \ --sku Free_F1
احصل على مفتاح الوصول مع الاستمرار لاستخدامه لاحقا.
تظهر سلسلة الاتصال الأولية في هذه المقالة لأغراض العرض التوضيحي فقط. في بيئات الإنتاج، قم دائما بحماية مفاتيح الوصول الخاصة بك. استخدم Azure Key Vault لإدارة مفاتيحك وتدويرها بأمان وتأمين اتصالك ب
WebPubSubServiceClient
.az webpubsub key show \ --name my-awps-swa \ --resource-group my-awps-swa-group
AWPS_ACCESS_KEY=<YOUR_AWPS_ACCESS_KEY>
استبدل العنصر النائب
<YOUR_AWPS_ACCESS_KEY>
بقيمةprimaryConnectionString
من الخطوة السابقة.
إنشاء مستودع
تستخدم هذه المقالة مستودع قالب GitHub لتسهيل بدء التشغيل. يتميز القالب بتطبيق بدء تشغيل تقوم بنشره إلى Azure Static Web Apps.
- انتقل إلى https://github.com/Azure/awps-swa-sample/generate لإنشاء مستودع جديد لهذا البرنامج التعليمي.
- حدد نفسك كمالكوقم بتسمية المستودع الخاص بك my-awps-swa-app.
- يمكنك إنشاء مستودع عام أو خاص وفقا لتفضيلاتك. يعمل كلاهما في البرنامج التعليمي.
- حدد «Create repository from template».
إنشاء تطبيق ويب ثابت
الآن وبعد إنشاء المستودع، يمكنك إنشاء تطبيق ويب ثابت من Azure CLI.
إنشاء متغير للاحتفاظ باسم مستخدم GitHub الخاص بك.
GITHUB_USER_NAME=<YOUR_GITHUB_USER_NAME>
استبدل العنصر النائب
<YOUR_GITHUB_USER_NAME>
باسم مستخدم GitHub.قم بإنشاء تطبيق ويب ثابت جديد من المستودع الخاص بك. عند تشغيل هذا الأمر، يبدأ CLI تسجيل دخول تفاعلي GitHub. اتبع الرسالة لإكمال التخويل.
az staticwebapp create \ --name my-awps-swa-app \ --resource-group my-awps-swa-group \ --source https://github.com/$GITHUB_USER_NAME/my-awps-swa-app \ --location "eastus2" \ --branch main \ --app-location "src" \ --api-location "api" \ --login-with-github
هام
يجب ألا يتضمن عنوان URL الذي تم تمريره إلى المعلمة
--source
اللاحقة.git
.انتقل إلى https://github.com/login/device.
أدخل رمز المستخدم كما هو معروض لرسالة وحدة التحكم الخاصة بك.
حدد متابعة.
حدد Authorize AzureAppServiceCLI.
تكوين إعدادات تطبيق الويب الثابت.
az staticwebapp appsettings set \ -n my-awps-swa-app \ --setting-names WebPubSubConnectionString=$AWPS_ACCESS_KEY WebPubSubHub=sample_swa
عرض الموقع الإلكتروني
هناك جانبان لنشر تطبيق ثابت: الأول ينشئ موارد Azure الأساسية التي تشكل تطبيقك. والثاني هو سير عمل GitHub Actions الذي يقوم بإنشاء التطبيق الخاص بك ونشره.
قبل أن تتمكن من الانتقال إلى موقع ثابت جديد، يجب أن تنتهي عملية إنشاء النشر أولاً من التشغيل.
ارجع إلى نافذة وحدة التحكم الخاصة بك وقم بتشغيل الأمر التالي لسرد عناوين URL المقترنة بتطبيقك.
az staticwebapp show \ --name my-awps-swa-app \ --query "repositoryUrl"
يرجع إخراج هذا الأمر عنوان URL إلى مستودع GitHub الخاص بك.
انسخ عنوان URL للمستودع والصقه في المستعرض.
حدد علامة التبويب إجراءات.
في هذه المرحلة، يقوم Azure بإنشاء الموارد لدعم تطبيق الويب الثابت. انتظر حتى تتحول الأيقونة الموجودة بجانب سير العمل قيد التشغيل إلى علامة اختيار ذات خلفية ✅خضراء . قد تستغرق هذه العملية بضع دقائق لإكمالها.
بمجرد ظهور أيقونة النجاح، يكتمل سير العمل ويمكنك العودة إلى نافذة وحدة التحكم الخاصة بك.
قم بتشغيل الأمر التالي للاستعلام عن عنوان URL لموقع الويب الخاص بك.
az staticwebapp show \ --name my-awps-swa-app \ --query "defaultHostname"
اضغط باستمرار على url لتعيينه في معالج أحداث Web PubSub.
STATIC_WEB_APP=<YOUR_STATIC_WEB_APP>
تكوين معالج أحداث Web PubSub
أنت قريب جدا من الاكتمال. الخطوة الأخيرة هي تكوين Web PubSub بحيث يتم نقل طلبات العميل إلى واجهات برمجة تطبيقات الوظيفة.
قم بتشغيل الأمر التالي لتكوين أحداث خدمة Web PubSub. يقوم بتعيين الدالات ضمن
api
المجلد في المستودع الخاص بك إلى معالج أحداث Web PubSub.az webpubsub hub create \ -n "my-awps-swa" \ -g "my-awps-swa-group" \ --hub-name "sample_swa" \ --event-handler url-template=https://$STATIC_WEB_APP/api/{event} user-event-pattern="*" system-event="connect"
أنت الآن جاهز للعب مع موقع الويب <الخاص بك YOUR_STATIC_WEB_APP>. انسخه إلى المستعرض وحدد متابعة لبدء الدردشة مع أصدقائك.
تنظيف الموارد
إذا كنت لن تستمر في استخدام هذا التطبيق، يمكنك حذف مجموعة الموارد وتطبيق الويب الثابت عن طريق تشغيل الأمر التالي.
az group delete --name my-awps-swa-group
الخطوات التالية
في هذا التشغيل السريع، تعلمت كيفية تطوير تطبيق دردشة بلا خادم ونشره. الآن، يمكنك البدء في إنشاء تطبيقك الخاص.