使用 Azure SignalR 服務和 Azure Functions 的即時應用程式
與 Azure Functions 結合的 Azure SignalR Services 可讓您在無伺服器環境中執行即時傳訊 Web 應用程式。 本文提供服務如何共同運作的概觀。
Azure SignalR 服務和 Azure Functions 都是完全受控、可高度擴充的服務。 它們可讓您專注於建置應用程式,而不是管理基礎結構。 通常一起使用這兩個服務,在 無 伺服器環境中提供實時通訊。
整合實時通訊與 Azure 服務
Azure Functions 服務可讓您以 多種語言撰寫程式代碼,包括 JavaScript、Python、C# 和 Java,可在雲端發生事件時觸發。 這些事件的範例包括:
- HTTP 和 Webhook 要求
- 定期計時器
- 來自 Azure 服務的事件,例如:
- Event Grid
- 事件中樞
- 服務匯流排
- Azure Cosmos DB 變更摘要
- 儲存體 Blob 和佇列
- Logic Apps 連接器,例如 Salesforce 和 SQL Server
藉由使用 Azure Functions 將這些事件與 Azure SignalR Service 整合,您就能夠在事件發生時通知數千個用戶端。
您可以使用 Azure Functions 和 SignalR Service 實作的即時無伺服器傳訊的一些常見案例包括:
- 將即時儀錶板或地圖上的IoT裝置遙測可視化。
- 在 Azure Cosmos DB 中更新檔時,更新應用程式中的數據。
- 在 Salesforce 中建立新訂單時傳送應用程式內通知。
Azure Functions 的 SignalR 服務系結
Azure Functions 的 SignalR 服務系結可讓 Azure 函式應用程式將訊息發佈至連線至 SignalR 服務的用戶端。 用戶端可以使用 .NET、JavaScript 和 Java 中提供的 SignalR 用戶端 SDK 來連線到服務,且即將推出更多語言。
範例案例
使用 Azure Functions 與 Azure Cosmos DB 整合是使用 SignalR Service 系結在 Azure Cosmos DB 變更摘要上出現新事件時傳送即時訊息的範例。
- Azure Cosmos DB 集合中會進行變更。
- 變更事件會傳播至 Azure Cosmos DB 變更摘要。
- Azure Cosmos DB 觸發程式會啟動 Azure 函式,以響應變更事件。
- SignalR 服務輸出系結會將訊息發佈至 SignalR 服務。
- SignalR Service 會將訊息發佈至所有連線的用戶端。
驗證和使用者
SignalR Service 可讓您將訊息廣播給所有或用戶端子集,例如屬於單一使用者的訊息。 您可以將 Azure Functions 的 SignalR Service 系結與 App Service 驗證結合,以向 Microsoft Entra ID、Facebook 和 Twitter 等提供者驗證使用者。 然後,您可以將訊息直接傳送給這些已驗證的使用者。
下一步
如需如何使用 Azure Functions 和 SignalR Service 的完整詳細數據,請造訪下列資源:
若要試用 Azure Functions 的 SignalR Service 系結,請參閱:
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: