共用方式為


使用 Azure SignalR Service 與 Azure Functions 打造即時應用程式

Azure SignalR Services 搭配 Azure Functions 可讓您在無伺服器環境中執行即時傳訊 Web 應用程式。 本文提供上述服務如何協力運作的概觀。

Azure SignalR Service 和 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 服務整合,您可以在每當事件發生時通知成千上萬的用戶端。

您可以使用 Azure Functions 與 SignalR 服務實作的一些常見即時無伺服器傳訊案例包括:

  • 在即時儀表板或地圖上將 IoT 裝置遙測資料視覺化。
  • 在 Azure Cosmos DB 中的文件更新時,更新應用程式中的資料。
  • 當新訂單在 Salesforce 中建立時,傳送應用程式內通知。

適用於 Azure Functions 的 SignalR Service 繫結

「適用於 Azure Functions 的 SignalR 服務繫結」可讓 Azure Function 應用程式發佈訊息到連線至 SignalR 服務的用戶端。 用戶端可以使用 SignalR 用戶端 SDK (您可以在 .NET、JavaScript 與 Java 中找到此 SDK) 連線到服務。

範例案例

使用 Azure Functions 與 Azure Cosmos DB 整合是當 Azure Cosmos DB 變更摘要上出現新事件時,利用 SignalR Service 繫結傳送即時訊息的範例。

Azure Cosmos DB,Azure Functions,SignalR Service

  1. 在 Azure Cosmos DB 集合中進行了變更。
  2. 變更事件會填入到 Azure Cosmos DB 變更摘要。
  3. Azure Cosmos DB 觸發程序啟動 Azure Function 以回應變更事件。
  4. SignalR Service 輸出繫結會發佈訊息到 SignalR Service。
  5. SignalR Service 會將訊息發佈到所有連線的用戶端。

驗證和使用者

SignalR Service 可讓您將訊息廣播到所有用戶端或子集,例如屬於單一使用者的用戶端。 您可以將 Azure Functions 的 SignalR Service 繫結與 App Service 驗證相結合,以使用 Microsoft Entra ID、Facebook 和 X 等提供者對使用者進行驗證。然後,您可以直接向這些已驗證的使用者傳送訊息。

下一步

如需如何一起使用 Azure Functions 和 SignalR Service 的完整詳細資料,請造訪下列資源:

若要嘗試適用於 Azure Functions 的 SignalR Service 繫結,請參閱: