Hızlı başlangıç: Azure SignalR hizmeti dağıtmak için ARM şablonu kullanma
Bu hızlı başlangıçta, bir Azure SignalR hizmeti oluşturmak için bir Azure Resource Manager şablonunun (ARM şablonu) nasıl kullanılacağı açıklanmaktadır. Azure SignalR hizmetini Azure portal, PowerShell veya CLı aracılığıyla dağıtabilirsiniz.
ARM şablonu projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır. Bu şablonda, bildirim temelli sözdizimi kullanılır. Bildirim temelli sözdiziminde, dağıtım oluşturmak için programlama komutlarının dizisini yazmadan amaçladığınız dağıtımı ifade edersiniz.
Ortamınız önkoşulları karşılıyorsa ve ARM şablonlarını kullanma hakkında bilginiz varsa, Azure’a dağıtma düğmesini seçin. Bu şablon, oturum açıldıktan sonra Azure portal açılır.
Önkoşullar
Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir tane oluşturun.
Şablonu gözden geçirme
Bu hızlı başlangıçta kullanılan şablon Azure Hızlı Başlangıç Şablonlarından alınmıştır.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"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"
],
"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": "string",
"defaultValue": "true",
"allowedValues": [
"true",
"false"
]
},
"enableMessagingLogs": {
"type": "string",
"defaultValue": "true",
"allowedValues": [
"true",
"false"
]
},
"enableLiveTrace": {
"type": "string",
"defaultValue": "true",
"allowedValues": [
"true",
"false"
]
},
"allowedOrigins": {
"type": "array",
"defaultValue": [
"https://foo.com",
"https://bar.com"
],
"metadata": {
"description": "Set the list of origins that should be allowed to make cross-origin calls."
}
}
},
"resources": [
{
"type": "Microsoft.SignalRService/SignalR",
"apiVersion": "2020-07-01-preview",
"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": "[parameters('enableConnectivityLogs')]"
},
{
"flag": "EnableMessagingLogs",
"value": "[parameters('enableMessagingLogs')]"
},
{
"flag": "EnableLiveTrace",
"value": "[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"
}
]
}
}
}
]
}
Şablon bir Azure kaynağı tanımlar:
Şablonu dağıtma
Azure portal ARM şablonunu kullanarak Azure SignalR hizmetini dağıtmak için aşağıdaki bağlantıyı seçin:
Azure SignalR hizmeti dağıtma sayfasında:
İsterseniz, aboneliği varsayılan ' dan değiştirin.
Kaynak grubu Için Yeni oluştur' u seçin, yeni kaynak grubu için bir ad girin ve Tamam' ı seçin.
Yeni bir kaynak grubu oluşturduysanız, kaynak grubu için bir bölge seçin.
İsterseniz, Azure SignalR hizmetinin yeni bir adını ve konumunu (örneğin, eastus2) girin. Bir ad belirtmezseniz, otomatik olarak oluşturulur. Azure SignalR hizmetinin konumu, kaynak grubunun bölgesiyle aynı veya farklı olabilir. Bir konum belirtmezseniz, kaynak grubuyla aynı bölgeye ayarlanır.
Fiyatlandırma katmanını (Free_F1 veya Standard_S1) seçin, kapasiteyi (SignalR birimi sayısını) girin ve varsayılan bir hizmet modu seçin (hub sunucusu gerektirir), sunucusuz (herhangi bir sunucu bağlantısına izin vermez) veya Klasik (hub sunucusu bağlantısı varsa hub sunucusuna yönlendirilir). Sonra bağlantı günlüklerinin etkinleştirilip etkinleştirilmeyeceğini seçin veya mesajlaşma günlüklerini etkinleştirin.
Not
Free_F1 fiyatlandırma katmanı için kapasite 1 birimle sınırlıdır.
Gözden geçir ve oluştur’u seçin.
Hüküm ve koşulları okuyun ve ardından Oluştur' u seçin.
Not
Dağıtımın tamamlanması birkaç dakika sürebilir. Dağıtılmış kaynakları daha sonra gözden geçirmek için kullandığınız Azure SignalR hizmeti ve kaynak grubunun adlarını aklınızda bulabilirsiniz.
Dağıtılan kaynakları gözden geçirme
Yeni Azure SignalR hizmetinize genel bir bakış için şu adımları izleyin:
Azure Portal, SignalR öğesini arayıp seçin.
SignalR listesinde yeni hizmetinizi seçin. Yeni Azure SignalR hizmeti için genel bakış sayfası görüntülenir.
Kaynakları temizleme
Artık gerekli olmadığında kaynak grubundaki kaynakları silen kaynak grubunu silin.
Azure Portal, kaynak gruplarını arayıp seçin.
Kaynak grubu listesinde, kaynak grubunuzun adını seçin.
Kaynak grubunuzun genel bakış sayfasında kaynak grubunu sil' i seçin.
Onay iletişim kutusunda, kaynak grubunuzun adını yazın ve ardından Sil' i seçin.
Sonraki adımlar
ARM şablonu oluşturma sürecinde size kılavuzluk eden adım adım bir öğretici için, bkz.: