Criar recursos do Barramento de Serviço usando modelos do Azure Resource Manager
Este artigo descreve como criar e implantar recursos do Barramento de Serviço usando modelos do Azure Resource Manager, o PowerShell e o provedor de recursos do Barramento de Serviço.
Os modelos do Azure Resource Manager ajudam você a definir os recursos a serem implantados em uma solução e a especificar os parâmetros e variáveis que lhe permitem inserir valores para diferentes ambientes. O modelo é gravado em JSON e consiste de expressões que você pode usar para construir valores para sua implantação. Para obter informações detalhadas sobre a criação de modelos do Azure Resource Manager e uma discussão sobre o formato do modelo, consulte Estrutura e sintaxe dos modelos do Azure Resource Manager.
Observação
Os exemplos neste artigo mostram como usar o Azure Resource Manager para criar um namespace do Barramento de Serviço e uma entidade de mensagens (fila). Para obter outros exemplos de modelo, visite a Galeria de Modelos de Início Rápido do Azure e pesquise Barramento de Serviço.
Observação
Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Para começar, confira Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.
Modelos do Gerenciador de Recursos do Barramento de Serviço
Esses modelos do Azure Resource Manager no Barramento de Serviço estão disponíveis para download e implantação. Clique nos links abaixo para obter detalhes sobre cada um, com links para os modelos no GitHub:
- Criar um namespace do Barramento de Serviço
- Criar um namespace do Barramento de Serviço com fila
- Criar um namespace do Barramento de Serviço com tópico e assinatura
- Create a Service Bus namespace with queue and authorization rule (Criar um namespace de Barramento de Serviço com fila e regra de autorização)
- Criar um namespace do Barramento de Serviço com tópico, assinatura e regra
Implantar com o PowerShell
O procedimento a seguir descreve como usar o PowerShell para implantar um modelo do Azure Resource Manager que cria um namespace de Barramento de Serviço de camada Standard e uma fila dentro desse namespace. Este exemplo se baseia no modelo Criar um namespace de Barramento de Serviço com fila. O fluxo de trabalho é mais ou menos o seguinte:
- Instale o PowerShell.
- Crie o modelo e (opcionalmente) um arquivo de parâmetro.
- No PowerShell, faça logon em sua conta do Azure.
- Crie um novo grupo de recursos se já não tiver um.
- Teste a implantação.
- Se desejar, defina o modo de implantação.
- Implante o modelo.
Para obter informações completas sobre a implantação de modelos do Azure Resource Manager, consulte Implantar recursos com modelos do Azure Resource Manager.
Instalar o PowerShell
Instale o Azure PowerShell seguindo as instruções em Introdução ao Azure PowerShell.
Criar um modelo
Clone o repositório ou copie o modelo servicebus-create-queue do 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]"
}
}
}
Criar um arquivo de parâmetros (opcional)
Para usar um arquivo de parâmetros opcionais, copie o arquivo servicebus-create-queue. Substitua o valor de serviceBusNamespaceName
pelo nome do namespace do Barramento de Serviço que você deseja criar nessa implantação e substitua o valor do serviceBusQueueName
pelo nome da fila que deseja criar.
{
"$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"
}
}
}
Para saber mais, consulte o tópico Parâmetros.
Fazer logon no Azure e definir a assinatura do Azure
Em um prompt do PowerShell, execute o seguinte comando:
Connect-AzAccount
Você precisará entrar em sua conta do Azure. Após o logon, execute o comando a seguir para exibir as assinaturas disponíveis:
Get-AzSubscription
Esse comando retorna uma lista de assinaturas do Azure disponíveis. Escolha uma assinatura para a sessão atual executando o comando a seguir. Substitua <YourSubscriptionId>
pelo GUID da assinatura do Azure que deseja usar:
Set-AzContext -SubscriptionID <YourSubscriptionId>
Definir o grupo de recursos
Caso não tenha um grupo de recursos existente, crie um grupo de recursos com o comando New-AzResourceGroup. Forneça o nome do grupo de recursos e local que você deseja usar. Por exemplo:
New-AzResourceGroup -Name MyDemoRG -Location "West US"
Se for bem-sucedido, um resumo do novo grupo de recursos será exibido.
ResourceGroupName : MyDemoRG
Location : westus
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/<GUID>/resourceGroups/MyDemoRG
Teste a implantação
Valide a implantação executando o cmdlet Test-AzResourceGroupDeployment
. Ao testar a implantação, forneça parâmetros exatamente como faria durante a sua execução.
Test-AzResourceGroupDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json
Criar a implantação
Para criar a nova implantação, execute o cmdlet New-AzResourceGroupDeployment
e forneça os parâmetros necessários quando solicitado. Os parâmetros incluem um nome para sua implantação, o nome do seu grupo de recursos e o caminho ou a URL para o arquivo do modelo. Caso o parâmetro Mode não esteja especificado, o valor padrão de Incremental será usado. Para saber mais, consulte Implantações incrementais e completas.
O comando abaixo solicita os três parâmetros na janela do PowerShell:
New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json
Para especificar um arquivo de parâmetros em vez disso, use o comando a seguir:
New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -TemplateParameterFile <path to parameters file>\azuredeploy.parameters.json
Você também pode usar parâmetros embutidos quando executa o cmdlet de implantação. O comando é o seguinte:
New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -parameterName "parameterValue"
Para executar uma implantação completa, defina o parâmetro Mode como Complete:
New-AzResourceGroupDeployment -Name MyDemoDeployment -Mode Complete -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json
Verificar a implantação
Se os recursos forem implantados com êxito, um resumo da implantação será exibido na janela do PowerShell:
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
Próximas etapas
Agora você já viu o fluxo de trabalho básico e os comandos para implantar um modelo do Azure Resource Manager. Para obter informações mais detalhadas, visite os seguintes links: