Exercício – Implantar um fluxo de trabalho básico dos Aplicativos Lógicos do Azure usando um modelo do ARM
Nesta unidade, implantaremos um fluxo de trabalho de Aplicativos Lógicos do Azure usando um modelo do Azure Resource Manager.
Criando recursos no Azure
Geralmente, primeiro se cria um grupo de recursos para conter todos os itens que precisarão ser criados. Um grupo de recursos ajuda a administrar todas as VMs (máquinas virtuais), os discos, os adaptadores de rede e outros elementos que compõem a solução como uma unidade.
Podemos criar um grupo de recursos com o comando az group create
da CLI do Azure. Esse comando usa um --name
para fornecer um nome de grupo de recursos exclusivo na assinatura. O comando também usa um --location
para fornecer a região padrão do Azure para os recursos.
Como estamos usando o ambiente gratuito da área restrita do Azure, você não precisa criar um grupo de recursos. Nesse caso, você pode usar o grupo de recursos já criado
Baixar e examinar um modelo do Resource Manager básico
Na parte superior da janela do Cloud Shell, selecione o ícone Mais (...) e selecione Configurações>Ir para a versão clássica.
No Cloud Shell, execute o seguinte comando
curl
para baixar o modelo do GitHub:curl https://raw.githubusercontent.com/MicrosoftDocs/mslearn-logic-apps-and-arm-templates/master/basic-template/template.json > basic-template.json
Para exibir o modelo, abra-o no editor interno:
code basic-template.json
A definição do fluxo de trabalho de aplicativo lógico descrita em template.json é mostrada na seguinte listagem:
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "variables": {}, "resources": [ { "type": "Microsoft.Logic/workflows", "apiVersion": "2017-07-01", "name": "HelloLogicAppsTemplate", "location": "westus2", "properties": { "state": "Enabled", "definition": { "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", "contentVersion": "1.0.0.0", "parameters": {}, "triggers": { "manual": { "type": "Request", "kind": "Http", "inputs": { "method": "GET", "schema": {} } } }, "actions": { "Response": { "runAfter": {}, "type": "Response", "kind": "Http", "inputs": { "body": "Hello Logic Apps Template!", "statusCode": 200 } } }, "outputs": {} }, "parameters": {} } } ], "outputs": { "logicAppUrl": { "type": "string", "value": "[listCallbackURL(concat(resourceId('Microsoft.Logic/workflows/', 'HelloLogicAppsTemplate'), '/triggers/manual'), '2017-07-01').value]" } } }
Como você pode ver na definição JSON anterior, e como o nome do modelo sugere, este fluxo de trabalho de aplicativo lógico é básico. Vamos examinar os principais componentes deste aplicativo.
No snippet a seguir, vemos que o aplicativo se chama
HelloLogicAppsTemplate
. Este nome está embutido em código no modelo. A localização no qual o aplicativo é executado também está embutida em código comowestus2
."name": "HelloLogicAppsTemplate", "location": "westus2",
Rolando para baixo até a seção triggers, vemos que o fluxo de trabalho é disparado com uma solicitação HTTP GET. O gatilho é denominado
manual
."triggers": { "manual": { "type": "Request", "kind": "Http", "inputs": { "method": "GET", "schema": {} } } },
Mais adiante, na seção ações, aprendemos que este fluxo de trabalho contém uma etapa ou ação. Essa ação responde à solicitação com a mensagem
Hello Azure Logic Apps Template!
."actions": { "Response": { "runAfter": {}, "type": "Response", "kind": "Http", "inputs": { "body": "Hello Logic Apps Template!", "statusCode": 200 } } },
A seção outputs do modelo do Resource Manager tem uma só saída chamada
logicAppUrl
. Essa variável de saída lista a URL do recurso de aplicativo lógico implantado. Essa URL facilita o teste do aplicativo. A saída usalistCallbackURL
para criar a URL, mas o nome do fluxo de trabalho e o nome do gatilho são embutidos em código aqui."outputs": { "logicAppUrl": { "type": "string", "value": "[listCallbackURL(concat(resourceId('Microsoft.Logic/workflows/', 'HelloLogicAppsTemplate'), '/triggers/manual'), '2017-07-01').value]" } }
Agora vamos implantar esse aplicativo lógico e testá-lo.
Validar e implantar o modelo
Para implantar o recurso de aplicativo lógico, usaremos o comando az deployment group create
, pois estamos implantando em um grupo de recursos. Ao implantar usando esse comando, é possível optar por implantar um modelo remoto especificando seu local com o parâmetro --template-uri
. Em nosso caso, queremos implantar o modelo que temos localmente, portanto, definiremos o parâmetro --template-file
.
No Cloud Shell, execute
az deployment group validate
para validar o modelo:az deployment group validate \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --template-file basic-template.json
O argumento
--template-file
aponta para o modelo local. O nome do arquivo do modelo é basic-template.json.Você verá um grande bloco JSON como saída, o que lhe informa que o modelo passou na validação.
O Azure Resource Manager preenche os parâmetros de modelo e verifica se o modelo seria executado com êxito em sua assinatura.
Se a validação falhasse, você veria uma descrição detalhada da falha na saída.
Execute o seguinte comando
az deployment group create
no Cloud Shell para implantar o recurso de aplicativo lógico definido pelo modelo básico no grupo de recursos de área restrita:az deployment group create \ --name MyDeployment \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --template-file basic-template.json
Esse comando se parece com o comando anterior, mas também inclui o argumento
--name
para fornecer um nome à implantação.Esse comando leva entre dois e três minutos para ser concluído. Quando a implantação for concluída, você verá como saída outro grande bloco JSON que descreve a implantação. Você verá
provisioningState
no resultado JSON com o valorSucceeded
.
Verificar a implantação
Execute
az deployment group show
para verificar a implantação:az deployment group show \ --name MyDeployment \ --resource-group "<rgn>[sandbox resource group name]</rgn>"
Você verá o mesmo bloco JSON que já havia visto. Se você precisar desses detalhes sobre a implantação, poderá executar esse comando mais tarde. A saída é estruturada como JSON para facilitar o feed em outras ferramentas que você pode usar para acompanhar as suas implantações e o uso de nuvem.
Para ver o aplicativo em ação, localize o valor logicAppUrl no resultado JSON. Selecione a URL e ou copie-a e cole-a em uma nova janela do navegador. A página exibirá a mensagem Olá, modelo dos Aplicativos Lógicos do Azure!, conforme mostra a seguinte captura de tela:
Parabéns! Você implantou com êxito um fluxo de trabalho de aplicativo lógico usando um modelo do Azure Resource Manager.
Conforme observamos neste exercício, o modelo básico tem muitos valores embutidos em código. Esses valores deixam o modelo menos flexível do que gostaríamos. Podemos aprimorar a situação usando parâmetros.