Exemplo de script da CLI do Azure – Criar um aplicativo lógico

Aplica-se a: Aplicativos Lógicos do Azure (Consumo)

Esse script cria um aplicativo lógico de exemplo por meio da extensão de Aplicativos Lógicos da CLI do Azure, (az logic). Para obter um guia detalhado para criar e gerenciar aplicativos lógicos por meio da CLI do Azure, confira o guia de início rápido dos Aplicativos Lógicos para a CLI do Azure.

Aviso

Atualmente, a extensão de Aplicativos Lógicos para a CLI do Azure está em fase experimental e não é coberta pelo atendimento ao cliente. Use essa extensão da CLI com cuidado, especialmente se optar por usar a extensão em ambientes de produção.

Pré-requisitos

Verificação de pré-requisitos

Valide seu ambiente antes de começar:

Explicação do fluxo de trabalho de exemplo

Esse exemplo de arquivo de definição de fluxo de trabalho cria o mesmo exemplo básico de fluxo de trabalho de aplicativo lógico de Consumo incluído no início rápido para o portal do Azure.

Esse fluxo de trabalho de exemplo:

  1. Especifica um esquema, $schema, para o aplicativo lógico.

  2. Define um gatilho para o aplicativo lógico na lista de gatilhos, triggers. O gatilho é repetido (recurrence) a cada 3 horas. As ações são disparadas quando um novo item de feed é publicado (When_a_feed_item_is_published) para o RSS feed especificado (feedUrl).

  3. Define uma ação para o aplicativo lógico na lista de ações, actions. A ação envia um email (Send_an_email_(V2)) por meio do Microsoft 365 com os detalhes dos itens do RSS feed, conforme especificado na seção de corpo (body) das entradas da ação (inputs).

Definição de fluxo de trabalho de exemplo

Para executar o script de exemplo, você deve primeiro criar uma definição de fluxo de trabalho de exemplo.

  1. Crie o arquivo JSON testDefinition.json no computador.

  2. Copie o seguinte conteúdo no arquivo JSON:

    
    {
        "definition": {
            "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
            "actions": {
                "Send_an_email_(V2)": {
                    "inputs": {
                        "body": {
                            "Body": "<p>@{triggerBody()?['publishDate']}<br>\n@{triggerBody()?['title']}<br>\n@{triggerBody()?['primaryLink']}</p>",
                            "Subject": "@triggerBody()?['title']",
                            "To": "test@example.com"
                        },
                        "host": {
                            "connection": {
                                "name": "@parameters('$connections')['office365']['connectionId']"
                            }
                        },
                        "method": "post",
                        "path": "/v2/Mail"
                    },
                    "runAfter": {},
                    "type": "ApiConnection"
                }
            },
            "contentVersion": "1.0.0.0",
            "outputs": {},
            "parameters": {
                "$connections": {
                    "defaultValue": {},
                    "type": "Object"
                }
            },
            "triggers": {
                "When_a_feed_item_is_published": {
                    "inputs": {
                        "host": {
                            "connection": {
                                "name": "@parameters('$connections')['rss']['connectionId']"
                            }
                        },
                        "method": "get",
                        "path": "/OnNewFeed",
                        "queries": {
                            "feedUrl": "https://www.pbs.org/now/rss.xml"
                        }
                    },
                    "recurrence": {
                        "frequency": "Hour",
                        "interval": 3
                    },
                    "splitOn": "@triggerBody()?['value']",
                    "type": "ApiConnection"
                }
            }
        },
        "parameters": {
            "$connections": {
                "value": {
                    "office365": {
                        "connectionId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup/providers/Microsoft.Web/connections/office365",
                        "connectionName": "office365",
                        "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/locations/westus/managedApis/office365"
                    },
                    "rss": {
                        "connectionId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup/providers/Microsoft.Web/connections/rss",
                        "connectionName": "rss",
                        "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/locations/westus/managedApis/rss"
                    }
                }
            }
        }
    }
    
    
  3. Carregue os valores do espaço reservado com suas próprias informações:

    1. Substitua o endereço de email do espaço reservado ("To": "test@example.com"). Você precisa usar um endereço de email compatível com os conectores dos Aplicativos Lógicos. Para obter mais informações, confira os pré-requisitos.

    2. Substitua os detalhes adicionais do conector, se você estiver usando outro conector de email que não seja o conector do Outlook do Office 365.

    3. Substitua os valores de assinatura do espaço reservado (00000000-0000-0000-0000-000000000000) para os identificadores de conexão (connectionId e id) no parâmetro de conexões ($connections) pelos seus próprios valores de assinatura.

  4. Salve suas alterações.

Exemplo de script

Observação

Este exemplo foi gravado para o shell bash. Se você quiser executar esse exemplo em outro shell, como o Windows PowerShell ou o prompt de comando, talvez seja necessário fazer modificações no script.

Antes de executar esse script de exemplo, execute este comando para se conectar ao Azure:


az login

Em seguida, navegue até o diretório em que você criou a definição de fluxo de trabalho. Por exemplo, se você criou o arquivo JSON de definição de fluxo de trabalho no desktop:


cd ~/Desktop

Execute esse script para criar um aplicativo lógico.


#!/bin/bash

# Create a resource group

az group create --name testResourceGroup --location westus

# Create your logic app

az logic workflow create --resource-group "testResourceGroup" --location "westus" --name "testLogicApp" --definition "testDefinition.json"

Limpar a implantação

Quando terminar de usar o script de exemplo, execute o comando a seguir para remover o grupo de recursos e todos os recursos aninhados, incluindo o aplicativo lógico.


az group delete --name testResourceGroup --yes

Explicação sobre o script

Este script de exemplo usa os comandos a seguir para criar um novo grupo de recursos e o aplicativo lógico.

Comando Observações
az group create Cria um grupo de recursos em que os recursos do aplicativo lógico são armazenados.
az logic workflow create Cria um aplicativo lógico com base no fluxo de trabalho definido no parâmetro --definition.
az group delete Exclui um grupo de recursos e todos os recursos aninhados.

Próximas etapas

Para saber mais sobre a CLI do Azure, confira a Documentação da CLI do Azure.

Veja exemplos de script adicionais da CLI dos Aplicativos Lógicos no navegador de exemplos de código da Microsoft.