Skapa Service Bus-resurser med hjälp av Azure Resource Manager-mallar
Den här artikeln beskriver hur du skapar och distribuerar Service Bus-resurser med hjälp av Azure Resource Manager-mallar, PowerShell och Service Bus-resursprovidern.
Med Azure Resource Manager-mallar kan du definiera de resurser som ska distribueras för en lösning och ange parametrar och variabler som gör att du kan ange värden för olika miljöer. Mallen är skriven i JSON och består av uttryck som du kan använda för att konstruera värden för distributionen. Detaljerad information om hur du skriver Azure Resource Manager-mallar och en diskussion om mallformatet finns i struktur och syntax för Azure Resource Manager-mallar.
Kommentar
Exemplen i den här artikeln visar hur du använder Azure Resource Manager för att skapa en Service Bus-namnrymd och meddelandeentitet (kö). Andra mallexempel finns i galleriet Azure Snabbstartsmallar och söker efter Service Bus.
Kommentar
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Information om hur du kommer igång finns i Installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
Service Bus Resource Manager-mallar
Dessa Service Bus Azure Resource Manager-mallar är tillgängliga för nedladdning och distribution. Klicka på följande länkar för information om var och en med länkar till mallarna på GitHub:
- Skapa ett Service Bus-namnområde
- Skapa en namnrymd med kö för Service Bus
- Skapa en Service Bus-namnrymd med ämne och prenumeration
- Skapa en Service Bus-namnrymd med kö och auktoriseringsregel
- Skapa en Service Bus-namnrymd med ämne, prenumeration och regel
Distribuera med PowerShell
Följande procedur beskriver hur du använder PowerShell för att distribuera en Azure Resource Manager-mall som skapar ett Service Bus-namnområde på standardnivå och en kö inom det namnområdet. Det här exemplet baseras på mallen Skapa ett Service Bus-namnområde med kö . Det ungefärliga arbetsflödet är följande:
- Installera PowerShell.
- Skapa mallen och (valfritt) en parameterfil.
- Logga in på ditt Azure-konto i PowerShell.
- Skapa en ny resursgrupp om den inte finns.
- Testa distributionen.
- Om du vill anger du distributionsläget.
- Distribuera mallen.
Fullständig information om hur du distribuerar Azure Resource Manager-mallar finns i Distribuera resurser med Azure Resource Manager-mallar.
Installera PowerShell
Installera Azure PowerShell genom att följa anvisningarna i Komma igång med Azure PowerShell.
Skapa en mall
Klona lagringsplatsen eller kopiera mallen servicebus-create-queue från GitHub:
{
"$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"serviceBusNamespaceName": {
"type": "string",
"metadata": {
"description": "Name of the Service Bus namespace"
}
},
"serviceBusQueueName": {
"type": "string",
"metadata": {
"description": "Name of the Queue"
}
}
},
"variables": {
"defaultSASKeyName": "RootManageSharedAccessKey",
"authRuleResourceId": "[resourceId('Microsoft.ServiceBus/namespaces/authorizationRules', parameters('serviceBusNamespaceName'), variables('defaultSASKeyName'))]",
"sbVersion": "2017-04-01"
},
"resources": [
{
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusNamespaceName')]",
"type": "Microsoft.ServiceBus/Namespaces",
"location": "[resourceGroup().location]",
"sku": {
"name": "Standard"
},
"properties": {},
"resources": [
{
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusQueueName')]",
"type": "Queues",
"dependsOn": [
"[concat('Microsoft.ServiceBus/namespaces/', parameters('serviceBusNamespaceName'))]"
],
"properties": {
"lockDuration": "PT5M",
"maxSizeInMegabytes": "1024",
"requiresDuplicateDetection": "false",
"requiresSession": "false",
"defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S",
"deadLetteringOnMessageExpiration": "false",
"duplicateDetectionHistoryTimeWindow": "PT10M",
"maxDeliveryCount": "10",
"autoDeleteOnIdle": "P10675199DT2H48M5.4775807S",
"enablePartitioning": "false",
"enableExpress": "false"
}
}
]
}
],
"outputs": {
"NamespaceConnectionString": {
"type": "string",
"value": "[listkeys(variables('authRuleResourceId'), variables('sbVersion')).primaryConnectionString]"
},
"SharedAccessPolicyPrimaryKey": {
"type": "string",
"value": "[listkeys(variables('authRuleResourceId'), variables('sbVersion')).primaryKey]"
}
}
}
Skapa en parameterfil (valfritt)
Om du vill använda en valfri parameterfil kopierar du filen servicebus-create-queue . Ersätt värdet serviceBusNamespaceName
för med namnet på det Service Bus-namnområde som du vill skapa i den här distributionen och ersätt värdet serviceBusQueueName
för med namnet på kön som du vill skapa.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"serviceBusNamespaceName": {
"value": "<myNamespaceName>"
},
"serviceBusQueueName": {
"value": "<myQueueName>"
},
"serviceBusApiVersion": {
"value": "2017-04-01"
}
}
}
Mer information finns i artikeln Parametrar .
Logga in på Azure och ange Azure-prenumerationen
Kör följande kommando från en PowerShell-prompt:
Connect-AzAccount
Du uppmanas att logga in på ditt Azure-konto. När du har loggat in kör du följande kommando för att visa dina tillgängliga prenumerationer:
Get-AzSubscription
Det här kommandot returnerar en lista över tillgängliga Azure-prenumerationer. Välj en prenumeration för den aktuella sessionen genom att köra följande kommando. Ersätt <YourSubscriptionId>
med GUID för den Azure-prenumeration som du vill använda:
Set-AzContext -SubscriptionID <YourSubscriptionId>
Ange resursgruppen
Om du inte har någon befintlig resursgrupp skapar du en ny resursgrupp med kommandot New-AzResourceGroup . Ange namnet på den resursgrupp och plats som du vill använda. Till exempel:
New-AzResourceGroup -Name MyDemoRG -Location "West US"
Om det lyckas visas en sammanfattning av den nya resursgruppen.
ResourceGroupName : MyDemoRG
Location : westus
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/<GUID>/resourceGroups/MyDemoRG
Testa distributionen
Verifiera distributionen genom att köra cmdleten Test-AzResourceGroupDeployment
. När du testar distributionen anger du parametrar precis som när du kör distributionen.
Test-AzResourceGroupDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json
Skapa distributionen
Om du vill skapa den nya distributionen kör du cmdleten New-AzResourceGroupDeployment
och anger nödvändiga parametrar när du uppmanas att göra det. Parametrarna innehåller ett namn för distributionen, namnet på resursgruppen och sökvägen eller URL:en till mallfilen. Om parametern Läge inte har angetts används standardvärdet för Inkrementell . Mer information finns i Inkrementella och fullständiga distributioner.
Följande kommando frågar efter de tre parametrarna i PowerShell-fönstret:
New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json
Om du vill ange en parameterfil i stället använder du följande kommando:
New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -TemplateParameterFile <path to parameters file>\azuredeploy.parameters.json
Du kan också använda infogade parametrar när du kör distributions-cmdleten. Kommandot är följande:
New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -parameterName "parameterValue"
Om du vill köra en fullständig distribution anger du parametern Läge till Slutför:
New-AzResourceGroupDeployment -Name MyDemoDeployment -Mode Complete -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json
Verifiera distributionen
Om resurserna har distribuerats visas en sammanfattning av distributionen i PowerShell-fönstret:
DeploymentName : MyDemoDeployment
ResourceGroupName : MyDemoRG
ProvisioningState : Succeeded
Timestamp : 4/19/2017 10:38:30 PM
Mode : Incremental
TemplateLink :
Parameters :
Name Type Value
=============== ========================= ==========
serviceBusNamespaceName String <namespaceName>
serviceBusQueueName String <queueName>
serviceBusApiVersion String 2017-04-01
Nästa steg
Nu har du sett det grundläggande arbetsflödet och kommandona för att distribuera en Azure Resource Manager-mall. Mer detaljerad information finns på följande länkar: