快速入門:使用ARM範本部署 Azure SignalR 服務
本快速入門會逐步引導您完成使用 Azure Resource Manager (ARM) 範本建立 Azure SignalR 服務的程式。 您可以透過 Azure 入口網站、PowerShell 或 CLI 來部署 Azure SignalR 服務。
Azure Resource Manager 範本是 JavaScript 物件表示法 (JSON) 檔案,可定義專案的基礎結構和組態。 範本使用宣告式語法。 您不需要撰寫程式設計命令順序來建立部署,即可描述預定的部署。
如果您的環境符合必要條件,而且您很熟悉 ARM 範本,請選取 [部署至 Azure] 按鈕。 一旦您登入,範本就會在 Azure 入口網站 中開啟。
必要條件
具有有效訂用帳戶的 Azure 帳戶。 免費建立一個。
檢閱範本
本快速入門中使用的範本是來自 Azure 快速入門範本。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.9.1.41621",
"templateHash": "7185938028783900711"
}
},
"parameters": {
"name": {
"type": "string",
"defaultValue": "[uniqueString(resourceGroup().id)]",
"metadata": {
"description": "The globally unique name of the SignalR resource to create."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for the SignalR resource."
}
},
"pricingTier": {
"type": "string",
"defaultValue": "Standard_S1",
"allowedValues": [
"Free_F1",
"Standard_S1",
"Premium_P1"
],
"metadata": {
"description": "The pricing tier of the SignalR resource."
}
},
"capacity": {
"type": "int",
"defaultValue": 1,
"allowedValues": [
1,
2,
5,
10,
20,
50,
100
],
"metadata": {
"description": "The number of SignalR Unit."
}
},
"serviceMode": {
"type": "string",
"defaultValue": "Default",
"allowedValues": [
"Default",
"Serverless",
"Classic"
],
"metadata": {
"description": "Visit https://github.com/Azure/azure-signalr/blob/dev/docs/faq.md#service-mode to understand SignalR Service Mode."
}
},
"enableConnectivityLogs": {
"type": "bool",
"defaultValue": true
},
"enableMessagingLogs": {
"type": "bool",
"defaultValue": true
},
"enableLiveTrace": {
"type": "bool",
"defaultValue": true
},
"allowedOrigins": {
"type": "array",
"defaultValue": [
"*"
],
"metadata": {
"description": "Set the list of origins that should be allowed to make cross-origin calls."
}
}
},
"resources": [
{
"type": "Microsoft.SignalRService/signalR",
"apiVersion": "2022-02-01",
"name": "[parameters('name')]",
"location": "[parameters('location')]",
"sku": {
"capacity": "[parameters('capacity')]",
"name": "[parameters('pricingTier')]"
},
"kind": "SignalR",
"identity": {
"type": "SystemAssigned"
},
"properties": {
"tls": {
"clientCertEnabled": false
},
"features": [
{
"flag": "ServiceMode",
"value": "[parameters('serviceMode')]"
},
{
"flag": "EnableConnectivityLogs",
"value": "[string(parameters('enableConnectivityLogs'))]"
},
{
"flag": "EnableMessagingLogs",
"value": "[string(parameters('enableMessagingLogs'))]"
},
{
"flag": "EnableLiveTrace",
"value": "[string(parameters('enableLiveTrace'))]"
}
],
"cors": {
"allowedOrigins": "[parameters('allowedOrigins')]"
},
"networkACLs": {
"defaultAction": "Deny",
"publicNetwork": {
"allow": [
"ClientConnection"
]
},
"privateEndpoints": [
{
"name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e",
"allow": [
"ServerConnection"
]
}
]
},
"upstream": {
"templates": [
{
"categoryPattern": "*",
"eventPattern": "connect,disconnect",
"hubPattern": "*",
"urlTemplate": "https://example.com/chat/api/connect"
}
]
}
}
}
]
}
樣本會定義一個 Azure 資源:
部署範本
若要使用 ARM 範本部署 Azure SignalR 服務,請在 Azure 入口網站 中選取下列連結:
在 [ 部署 Azure SignalR 服務 ] 頁面上:
如果您想要,請從預設值變更訂用 帳戶 。
針對 [ 資源群組],選取 [新建],輸入新資源群組的名稱,然後選取 [ 確定]。
如果您已建立新的資源群組,請選取資源群組的區域。
如果您想要,請輸入 Azure SignalR Service 的新 [名稱 ] 和 [位置 ] (例如 eastus2)。 如果未 指定 Name ,則會自動產生它。 位置可以與資源群組的區域相同或不同。 如果未 指定 Location ,它會預設為與資源群組相同的區域。
選擇定價層(Free_F1或Standard_S1),輸入容量(SignalR 單位數目),然後選擇默認服務模式(需要中樞伺服器)、無伺服器(不允許任何伺服器連線),或傳統(只有在中樞有伺服器連線時,才會路由傳送至中樞伺服器)。 現在,選擇 [啟用 連線 記錄] 或 [啟用傳訊記錄]。
注意
針對 Free_F1 定價層,容量限製為1個單位。
選取 [檢閱 + 建立]。
閱讀條款和條件,然後選取 [ 建立]。
注意
部署需要幾分鐘的時間才能完成。 記下 Azure SignalR 服務和資源群組的名稱,您稍後會用來檢閱已部署的資源。
檢閱已部署的資源
請遵循下列步驟來查看新 Azure SignalR 服務的概觀:
在 Azure 入口網站 中,搜尋並選取 SignalR。
在 SignalR 清單中,選取您的新服務。 新的 Azure SignalR Service 的 [ 概觀 ] 頁面隨即出現。
清除資源
不再需要資源群組時,請刪除資源群組,以刪除資源群組中的資源。
在 Azure 入口網站 中,搜尋並選取 [資源群組]。
在資源群組清單中,選擇資源群組的名稱。
在資源群組的 [ 概觀] 頁面中,選取 [ 刪除資源群組]。
在確認對話框中,輸入資源群組的名稱,然後選取 [ 刪除]。
下一步
如需逐步教學課程,引導您完成建立ARM範本的程式,請參閱: