Uw Service Bus maken met behulp van Azure Resource Manager sjablonen
In dit artikel wordt beschreven hoe u Service Bus resources maakt en implementeert met Azure Resource Manager-sjablonen, PowerShell en de Service Bus resourceprovider.
Azure Resource Manager-sjablonen kunt u de resources definiëren die u voor een oplossing wilt implementeren en parameters en variabelen opgeven waarmee u waarden voor verschillende omgevingen kunt invoeren. De sjabloon is geschreven in JSON en bestaat uit expressies die u kunt gebruiken om waarden voor uw implementatie te maken. Zie structuur en syntaxis van Azure Resource Manager sjablonen voor gedetailleerde informatie over het schrijven van Azure Resource Manager sjablonen en een bespreking van de sjabloonindeling.
Notitie
De voorbeelden in dit artikel laten zien hoe u Azure Resource Manager gebruikt om een Service Bus-naamruimte en berichtenentiteit (wachtrij) te maken. Ga voor andere sjabloonvoorbeelden naar de galerie Azure-quickstartsjablonen en zoek naar Service Bus.
Notitie
In dit artikel wordt de Azure Az PowerShell-module gebruikt. Dit is de aanbevolen PowerShell-module voor interactie met Azure. Raadpleeg Azure PowerShell installeren om aan de slag te gaan met de Az PowerShell-module. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
Service Bus Resource Manager sjablonen
Deze Service Bus Azure Resource Manager zijn beschikbaar voor downloaden en implementeren. Klik op de volgende koppelingen voor meer informatie over elk van deze koppelingen, met koppelingen naar de sjablonen op GitHub:
- Een Service Bus-naamruimte maken
- Een Service Bus-naamruimte met een wachtrij maken
- Een Service Bus-naamruimte met een onderwerp en abonnement maken
- Een Service Bus-naamruimte met een wachtrij en een autorisatieregel maken
- Een Service Bus-naamruimte met een onderwerp, een abonnement en een regel maken
Implementeren met PowerShell
In de volgende procedure wordt beschreven hoe u PowerShell gebruikt om een Azure Resource Manager-sjabloon te implementeren die een Standard-laag maakt Service Bus naamruimte en een wachtrij binnen die naamruimte. Dit voorbeeld is gebaseerd op de sjabloon Een Service Bus maken met wachtrij. De werkstroom is bij benadering als volgt:
- Installeer PowerShell.
- Maak de sjabloon en (optioneel) een parameterbestand.
- Meld u in PowerShell aan bij uw Azure-account.
- Maak een nieuwe resourcegroep als deze nog niet bestaat.
- Test de implementatie.
- Stel indien gewenst de implementatiemodus in.
- De sjabloon implementeren.
Zie Resources implementeren met sjablonen voor Azure Resource Manager meer informatie over het implementeren Azure Resource Manager sjablonen.
PowerShell installeren
Installeer Azure PowerShell door de instructies te volgen in Aan de slag met Azure PowerShell.
Een sjabloon maken
Kloon de opslagplaats of kopieer de sjabloon servicebus-create-queue vanuit 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]"
}
}
}
Een parametersbestand maken (optioneel)
Als u een optioneel parametersbestand wilt gebruiken, kopieert u het bestand servicebus-create-queue. Vervang de waarde van door de naam van de Service Bus-naamruimte die u in deze implementatie wilt maken en vervang de waarde van door de naam van de wachtrij die serviceBusNamespaceName serviceBusQueueName u wilt maken.
{
"$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"
}
}
}
Zie het artikel Parameters voor meer informatie.
Meld u aan bij Azure en stel het Azure-abonnement in
Voer vanuit een PowerShell-prompt de volgende opdracht uit:
Connect-AzAccount
U wordt gevraagd u aan te melden bij uw Azure-account. Voer na het aanmelden de volgende opdracht uit om uw beschikbare abonnementen weer te geven:
Get-AzSubscription
Met deze opdracht wordt een lijst met beschikbare Azure-abonnementen weergegeven. Kies een abonnement voor de huidige sessie door de volgende opdracht uit te voeren. Vervang <YourSubscriptionId> door de GUID voor het Azure-abonnement dat u wilt gebruiken:
Set-AzContext -SubscriptionID <YourSubscriptionId>
De resourcegroep instellen
Als u geen bestaande resourcegroep hebt, maakt u een nieuwe resourcegroep met de opdracht New-AzResourceGroup. Geef de naam op van de resourcegroep en locatie die u wilt gebruiken. Bijvoorbeeld:
New-AzResourceGroup -Name MyDemoRG -Location "West US"
Als dit lukt, wordt een samenvatting van de nieuwe resourcegroep weergegeven.
ResourceGroupName : MyDemoRG
Location : westus
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/<GUID>/resourceGroups/MyDemoRG
De implementatie testen
Valideer uw implementatie door de Test-AzResourceGroupDeployment cmdlet uit te uitvoeren. Wanneer u de implementatie test, geeft u parameters precies op zoals u zou doen bij het uitvoeren van de implementatie.
Test-AzResourceGroupDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json
De implementatie maken
Als u de nieuwe implementatie wilt maken, moet u de cmdlet uitvoeren en de New-AzResourceGroupDeployment benodigde parameters opgeven wanneer u hier om wordt gevraagd. De parameters bevatten een naam voor uw implementatie, de naam van uw resourcegroep en het pad of de URL naar het sjabloonbestand. Als de parameter Mode niet is opgegeven, wordt de standaardwaarde Incrementeel gebruikt. Zie Incrementele en volledige implementaties voor meer informatie.
De volgende opdracht vraagt u om de drie parameters in het PowerShell-venster:
New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json
Als u in plaats daarvan een parametersbestand wilt opgeven, gebruikt u de volgende opdracht:
New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -TemplateParameterFile <path to parameters file>\azuredeploy.parameters.json
U kunt ook inlineparameters gebruiken bij het uitvoeren van de implementatie-cmdlet. De opdracht is als volgt:
New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -parameterName "parameterValue"
Als u een volledige implementatie wilt uitvoeren, stelt u de parameter Mode in op Voltooien:
New-AzResourceGroupDeployment -Name MyDemoDeployment -Mode Complete -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json
De implementatie controleren
Als de resources zijn geïmplementeerd, wordt een samenvatting van de implementatie weergegeven in het PowerShell-venster:
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
Volgende stappen
U hebt nu de basiswerkstroom en opdrachten voor het implementeren van een Azure Resource Manager sjabloon gezien. Ga naar de volgende koppelingen voor meer informatie: