使用 Azure SignalR 服務和 Azure Functions 的即時應用程式
與 Azure Functions 結合的 Azure SignalR Services 可讓您在無伺服器環境中執行即時傳訊 Web 應用程式。 本文提供服務如何共同運作的概觀。
Azure SignalR 服務和 Azure Functions 都是完全受控、高度可調整的服務,可讓您專注于建置應用程式,而不是管理基礎結構。 通常一起使用這兩個服務,在 無 伺服器環境中提供即時通訊。
整合即時通訊與 Azure 服務
Azure Functions 服務可讓您以 多種語言 撰寫程式碼,包括 JavaScript、Python、C# 和 JAVA,可在雲端發生事件時觸發。 這些事件的範例包括:
- HTTP 和 Webhook 要求
- 定期計時器
- 來自 Azure 服務的事件,例如:
- 事件方格
- 事件中樞
- 服務匯流排
- 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 來連線到服務,且即將推出更多語言。
範例案例
如何使用 SignalR Service 系結的範例是使用 Azure Functions 與 Azure Cosmos DB 和 SignalR Service 整合,以在 Azure Cosmos DB 變更摘要上出現新事件時傳送即時訊息。
- Azure Cosmos DB 集合中會進行變更。
- 變更事件會傳播至 Azure Cosmos DB 變更摘要。
- Azure Functions 是由使用 Azure Cosmos DB 觸發程式的變更事件觸發。
- 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 系結,請參閱: