Service Bus-resources maken met behulp van Azure Resource Manager-sjablonen
In dit artikel wordt beschreven hoe u Service Bus-resources maakt en implementeert met behulp van Azure Resource Manager-sjablonen, PowerShell en de Service Bus-resourceprovider.
Met Azure Resource Manager-sjablonen kunt u de resources definiëren die moeten worden geïmplementeerd voor een oplossing 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 samen te stellen. Zie de 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. Voor andere sjabloonvoorbeelden gaat u naar de galerie met Azure-quickstartsjablonen en zoekt u naar Service Bus.
Notitie
Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. 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-sjablonen zijn beschikbaar voor downloaden en implementeren. Klik op de volgende koppelingen voor meer informatie over elk item, 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 waarmee een Service Bus-naamruimte met de Standard-laag en een wachtrij in die naamruimte wordt gemaakt. Dit voorbeeld is gebaseerd op de Service Bus-naamruimte maken met een wachtrijsjabloon . De werkstroom is 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 niet bestaat.
- Test de implementatie.
- Stel indien gewenst de implementatiemodus in.
- De sjabloon implementeren.
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 parameterbestand maken (optioneel)
Als u een optioneel parameterbestand wilt gebruiken, kopieert u het bestand servicebus-create-queue . Vervang de waarde door serviceBusNamespaceName
de naam van de Service Bus-naamruimte die u in deze implementatie wilt maken en vervang de waarde door serviceBusQueueName
de naam van de wachtrij die 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 vanaf een PowerShell-prompt de volgende opdracht uit:
Connect-AzAccount
U wordt gevraagd u aan te melden bij uw Azure-account. Nadat u zich hebt aangemeld, voert u de volgende opdracht uit om uw beschikbare abonnementen weer te geven:
Get-AzSubscription
Met deze opdracht wordt een lijst met beschikbare Azure-abonnementen geretourneerd. 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 de locatie die u wilt gebruiken. Voorbeeld:
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 voeren. Bij het testen van de implementatie moet u precies dezelfde parameters opgeven als 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, voert u de New-AzResourceGroupDeployment
cmdlet uit en geeft u de benodigde parameters op wanneer u hierom 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 Modus niet is opgegeven, wordt de standaardwaarde van Incrementeel gebruikt. Zie Incrementele en volledige implementaties voor meer informatie.
Met de volgende opdracht wordt u gevraagd 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 parameterbestand 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 wanneer u de implementatie-cmdlet uitvoert. 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 Modus 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: