Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Web PubSub, WebSocket kullanarak gerçek zamanlı mesajlaşma web uygulamaları oluşturmanıza yardımcı olur. Azure Static Web Apps, bir kod deposundan tam yığın web uygulamalarını otomatik olarak derlemenize ve Azure'a dağıtmanıza yardımcı olur. Bu öğreticide, gerçek zamanlı bir sohbet odası uygulaması oluşturmak için Web PubSub ve Static Web Apps'i birlikte kullanmayı öğreneceksiniz.
Daha açık belirtmek gerekirse, şunların nasıl yapılacağını öğrenirsiniz:
- Sunucusuz sohbet uygulaması oluşturma
- Web PubSub işlevi giriş ve çıkış bağlamalarıyla çalışma
- Static Web Apps ile çalışma
Önemli
Ham bağlantı dizesi yalnızca tanıtım amacıyla bu makalede görünür.
bağlantı dizesi, uygulamanızın Azure Web PubSub hizmetine erişmesi için gereken yetkilendirme bilgilerini içerir. bağlantı dizesi içindeki erişim anahtarı, hizmetinizin kök parolasına benzer. Üretim ortamlarında erişim anahtarlarınızı her zaman koruyun. Anahtarlarınızı güvenli bir şekilde yönetmek ve döndürmek ve bağlantınızın WebPubSubServiceClientgüvenliğini sağlamak için Azure Key Vault kullanın.
Erişim anahtarlarını diğer kullanıcılara dağıtmaktan, sabit kodlamaktan veya başkalarının erişebileceği herhangi bir yerde düz metin olarak kaydetmekten kaçının. Ele geçirilmiş olabileceklerini düşünüyorsanız anahtarlarınızı döndürün.
Genel bakış
GitHub veya Azure Repos, Statik Web Uygulamaları için kaynak denetimi sağlar. Azure seçtiğiniz depo dalını izler ve kaynak depoda her kod değişikliği olduğunda web uygulamanızın yeni bir derlemesi otomatik olarak çalıştırılır ve Azure'a dağıtılır. Sürekli teslim, GitHub Actions ve Azure Pipelines tarafından sağlanır. Statik Web Apps yeni derlemeyi algılar ve uç nokta kullanıcısına sunar.
Bu öğreticiyle sağlanan örnek sohbet odası uygulaması aşağıdaki iş akışına sahiptir.
- Kullanıcı uygulamada oturum açtığında, web PubSub hizmeti istemci bağlantı URL'si oluşturmak için Azure İşlevleri
loginAPI'si tetikleniyor. - İstemci Web PubSub'a bağlantı isteğini başlatırken, hizmet kullanıcının kimliğini doğrulamak için İşlevler
connectAPI'sini tetikleyen bir sistemconnectolayı gönderir. - İstemci Azure Web PubSub hizmetine bir ileti gönderdiğinde, hizmet bir kullanıcı
messageolayıyla yanıt verir ve İşlevlermessageAPI'si, tüm bağlı istemcilere iletinin yayımlanması için tetikler. - Azure Web PubSub'daki olaylar önceden tanımlanmış parametresiyle
validate(https://$STATIC_WEB_APP/api/{event}) yapılandırıldığında, İşlevler API'si düzenli aralıklarla CloudEvents Kötüye Kullanım Koruması{event}tetiklenir.
Not
İşlevLER API'leri connect ve message Azure Web PubSub hizmeti bu iki olayla yapılandırıldığında tetiklenir.
Önkoşullar
- Bir GitHub hesabı.
- Bir Azure hesabı. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir Azure hesabı oluşturun.
- Azure kaynaklarını yönetmek için Azure CLI (sürüm 2.29.0 veya üzeri) veya Azure Cloud Shell .
Web PubSub kaynağı oluşturma
Aşağıdaki komutu kullanarak Azure CLI'da oturum açın.
az loginKaynak grubu oluşturun.
az group create \ --name my-awps-swa-group \ --location "eastus2"Web PubSub kaynağı oluşturun.
az webpubsub create \ --name my-awps-swa \ --resource-group my-awps-swa-group \ --location "eastus2" \ --sku Free_F1Erişim anahtarını daha sonra kullanmak üzere alın ve basılı tutun.
Ham bağlantı dizesi yalnızca tanıtım amacıyla bu makalede görünür. Üretim ortamlarında erişim anahtarlarınızı her zaman koruyun. Anahtarlarınızı güvenli bir şekilde yönetmek ve döndürmek ve bağlantınızın
WebPubSubServiceClientgüvenliğini sağlamak için Azure Key Vault kullanın.az webpubsub key show \ --name my-awps-swa \ --resource-group my-awps-swa-groupAWPS_ACCESS_KEY=<YOUR_AWPS_ACCESS_KEY>Yer tutucuyu
<YOUR_AWPS_ACCESS_KEY>önceki adımdaki değeriyleprimaryConnectionStringdeğiştirin.
Depo oluşturma
Bu makalede, kullanmaya başlamanızı kolaylaştırmak için bir GitHub şablon deposu kullanılmaktadır. Şablonda Azure Static Web Apps'e dağıttığınız bir başlangıç uygulaması bulunur.
- Bu öğretici için https://github.com/Azure/awps-swa-sample/generate yeni bir depo oluşturmak için adresine gidin.
- Kendinizi Sahip olarak seçin ve deponuza my-awps-swa-app adını verin.
- Tercihinize göre bir Genel veya Özel depo oluşturabilirsiniz. Her ikisi de öğretici için çalışır.
- Şablondan depo oluştur’u seçin.
Statik web uygulaması oluşturma
Artık depo oluşturulduğuna göre, Azure CLI'dan statik bir web uygulaması oluşturabilirsiniz.
GitHub kullanıcı adınızı tutmak için bir değişken oluşturun.
GITHUB_USER_NAME=<YOUR_GITHUB_USER_NAME>Yer tutucuyu
<YOUR_GITHUB_USER_NAME>GitHub kullanıcı adınız ile değiştirin.Deponuzdan yeni bir statik web uygulaması oluşturun. Bu komutu çalıştırdığınızda CLI, GitHub etkileşimli oturum açma işlemini başlatır. Yetkilendirmeyi tamamlamak için iletiyi izleyin.
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Önemli
Parametresine
--sourcegeçirilen URL son eki içermemelidir.git.Şuraya git: https://github.com/login/device .
Konsolunuzun iletisinin görüntülendiği kullanıcı kodunu girin.
Devam'ı seçin.
AzureAppServiceCLI'yi Yetkile'yi seçin.
Statik web uygulaması ayarlarını yapılandırın.
az staticwebapp appsettings set \ -n my-awps-swa-app \ --setting-names WebPubSubConnectionString=$AWPS_ACCESS_KEY WebPubSubHub=sample_swa
Web sitesini görüntüleme
Statik uygulama dağıtmanın iki yönü vardır: İlki uygulamanızı oluşturan temel Azure kaynaklarını oluşturur. İkincisi de, uygulamanızı derleyip yayımlayan GitHub Actions iş akışıdır.
Yeni statik sitenize gidebilmeniz için önce dağıtım derlemesinin çalıştırılmasını tamamlamanız gerekir.
Konsol pencerenize dönün ve uygulamanızla ilişkili URL'leri listelemek için aşağıdaki komutu çalıştırın.
az staticwebapp show \ --name my-awps-swa-app \ --query "repositoryUrl"Bu komutun çıktısı GitHub deponuzun URL'sini döndürür.
Depo URL'sini kopyalayın ve tarayıcıya yapıştırın.
Eylemler sekmesini seçin.
Bu noktada Azure, statik web uygulamanızı desteklemek için kaynaklar oluşturmuştur. Çalışan iş akışının yanındaki simge yeşil arka planlı ✅bir onay işaretine dönüşene kadar bekleyin. Bu işlemin tamamlanması birkaç dakika sürebilir.
Başarı simgesi görüntülendiğinde iş akışı tamamlanır ve konsol pencerenize dönebilirsiniz.
Web sitenizin URL'sini sorgulamak için aşağıdaki komutu çalıştırın.
az staticwebapp show \ --name my-awps-swa-app \ --query "defaultHostname"Web PubSub olay işleyicisinde ayarlanacağı URL'yi tutun.
STATIC_WEB_APP=<YOUR_STATIC_WEB_APP>
Web PubSub olay işleyicisini yapılandırma
Tamamlanmak üzeresiniz. Son adım, istemci isteklerinin işlev API'lerinize aktarılması için Web PubSub'ı yapılandırmaktır.
Web PubSub hizmet olaylarını yapılandırmak için aşağıdaki komutu çalıştırın. Deponuzdaki
apiklasörün altındaki işlevleri Web PubSub olay işleyicisine eşler.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"
Artık web siteniz <YOUR_STATIC_WEB_APP> ile oynamaya hazırsınız. Tarayıcıya kopyalayın ve arkadaşlarınızla sohbet etmeye başlamak için Devam'ı seçin.
Kaynakları temizleme
Bu uygulamayı kullanmaya devam etmeyecekseniz aşağıdaki komutu çalıştırarak kaynak grubunu ve statik web uygulamasını silebilirsiniz.
az group delete --name my-awps-swa-group
Sonraki adımlar
Bu hızlı başlangıçta sunucusuz sohbet uygulaması geliştirmeyi ve dağıtmayı öğrendiniz. Artık kendi uygulamanızı oluşturmaya başlayabilirsiniz.