這組文章說明如何使用 Azure Functions 中的 Azure Web PubSub 系結,向聯機到 Azure Web PubSub 的用戶端驗證、傳送實時訊息。
| 動作 | 類型 |
|---|---|
| 處理來自 Web PubSub 的用戶端事件 | 觸發程序繫結 |
| 使用 HTTP 觸發程式處理來自 Web PubSub 的用戶端事件,或傳回用戶端存取 URL 和令牌 | 輸入繫結 |
| 叫用服務 API | 輸出繫結 |
安裝擴充功能
您安裝的延伸模組 NuGet 套件取決於您在函式應用程式中使用的 C# 模式:
函式會在隔離的 C# 背景工作進程中執行。 若要深入瞭解,請參閱 在隔離背景工作程序中執行 C# Azure Functions 的指南。
藉由安裝此 NuGet 套件,將擴充功能新增至您的專案。
安裝搭售方案
若要能夠在應用程式中使用這個繫結延伸模組,請確定專案根目錄中的 host.json 檔案包含下列 extensionBundle 參考:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
在此範例中, version 的 [4.0.0, 5.0.0) 值指示 Functions 主機使用至少 4.0.0 但小於 5.0.0的套件版本,其中包括 4.x 的所有潛在版本。 此表示法可有效地在 v4.x 擴充功能套件組合的最新可用次要版本上維護您的應用程式。
可能的話,您應該使用最新的延伸套件組合主要版本,並允許執行階段自動維護最新的次要版本。 您可以在 延伸套件組合發行頁面上檢視最新套件組合的內容。 如需詳細資訊,請參閱 Azure Functions 延伸模組套件組合。
注意
目前尚不支援 Java 的 Web PubSub 延伸模組。
重要概念
(1)-(2) WebPubSubConnection 輸入與 HttpTrigger 繫結,以產生用戶端連線。
(3)-(4) WebPubSubTrigger 觸發程序繫結,或 WebPubSubContext 輸入與 HttpTrigger 繫結,以處理服務要求。
(5)-(6) WebPubSub 輸出繫結,以要求服務執行某些動作。
Connection
你可以用 connection string 或 Microsoft Entra 身份 來連接 Azure Web PubSub 服務。
連接字串
根據預設,名為 WebPubSubConnectionString 的應用程式設定會用來儲存您的 Web PubSub 連接字串。 當您選擇為連線使用不同的設定名稱時,您必須明確將該名稱設定為系結定義中的索引鍵名稱。 在本地開發過程中,你也必須將此設定加入 Valueslocal.settings.json 檔案的集合中。
重要
連接字串包含應用程式存取 Azure Web PubSub 服務所需的授權資訊。 連接字串內的存取金鑰類似於服務的根密碼。 為了達到最佳安全性,你的函式應用程式在連接 Web PubSub 服務時應該使用 受管理身份, 而不是使用連線字串。
如需如何設定和使用 Web PubSub 和 Azure Functions 的詳細資訊,請參閱 教學課程:使用 Azure Functions 和 Azure Web PubSub 服務建立無伺服器通知應用程式。
身分識別型連線
如果你使用 Azure Web PubSub Functions Extensions v1.10.0 或更高版本,可以設定 function 應用程式使用 Microsoft Entra 身份驗證 Azure Web PubSub。
此方法消除了管理秘密的需求,並建議用於生產工作負載。
先決條件
請確保您的函式應用程式所使用的 Microsoft Entra 身份,已在目標 Web PubSub 資源上被賦予適當的 Azure RBAC 角色:
設定
Azure 函式中的身份基礎連線使用一組共享共同前綴的設定。 預設情況下,Azure Web PubSub Functions 擴充功能會尋找帶有前綴 WebPubSubConnectionString的設定。 你可以在觸發或綁定中設定 connection 這個屬性來自訂這個前綴。
對於 Azure Web PubSub,您必須提供的服務專用設定是服務端點 URI:
| 房產 | 環境變數範本 | Description | 為必填項目 |
|---|---|---|---|
| 服務位址 URI | WebPubSubConnectionString__serviceUri |
你 Web PubSub 服務端點的 URI。 | Yes |
主控於 Azure Functions 服務時,以身分識別為基礎的連接會使用受控識別。 預設使用系統指派的身份,但也可以指定使用者指派的身份。 欲了解更多如何自訂身份的資訊,請參閱基於 身份連結的共通屬性。
在本機開發等其他內容中執行時,雖然這可以自訂,但仍會改用您的開發人員身分識別。 請參閱使用身分識別型連線進行本機開發。
範例設定
以下範例說明如何以預設設定配置基於身份的:
{
"WebPubSubConnectionString__serviceUri": "https://your-webpubsub.webpubsub.azure.com"
}
注意
在本機、local.settings.json 或 金鑰保存庫 使用檔案來提供身分識別型連線的設定時,請將 取代__:為 設定名稱中的 ,以確保正確解析名稱。
例如: WebPubSubConnectionString:serviceUri 。