Partilhar via


Exemplo de script da CLI do Azure - criar uma aplicação lógica

Aplica-se a: Azure Logic Apps (Consumo)

Este script cria uma aplicação lógica de exemplo através da extensão do Logic Apps da CLI do Azure (az logic). Para obter um guia detalhado sobre como criar e gerir aplicações lógicas através da CLI do Azure, veja o início rápido do Logic Apps para a CLI do Azure.

Aviso

A extensão do Logic Apps da CLI do Azure é atualmente experimental e não é abrangida pelo suporte ao cliente. Utilize esta extensão da CLI com cuidado, especialmente se optar por utilizar a extensão em ambientes de produção.

Pré-requisitos

Verificação de pré-requisitos

Valide o seu ambiente antes de começar:

Explicação do fluxo de trabalho de exemplo

Este ficheiro de definição de fluxo de trabalho de exemplo cria o mesmo exemplo básico Fluxo de trabalho da aplicação lógica de consumo como no início rápido da portal do Azure.

Este fluxo de trabalho de exemplo:

  1. Especifica um esquema, $schema, para a aplicação lógica.

  2. Define um acionador para a aplicação lógica na lista de acionadores, triggers. O acionador repete-se (recurrence) a cada 3 horas. As ações são acionadas quando é publicado um novo item de feed (When_a_feed_item_is_published) para o feed RSS especificado (feedUrl).

  3. Define uma ação para a aplicação lógica na lista de ações, actions. A ação envia um e-mail (Send_an_email_(V2)) através do Microsoft 365 com detalhes dos itens do feed RSS, conforme especificado na secção do corpo (body) das entradas da ação (inputs).

Definição de fluxo de trabalho de exemplo

Antes de executar o script de exemplo, primeiro tem de criar uma definição de fluxo de trabalho de exemplo.

  1. Crie um ficheiro testDefinition.json JSON no seu computador.

  2. Copie o seguinte conteúdo para o ficheiro 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. Atualize os valores do marcador de posição com as suas próprias informações:

    1. Substitua o endereço de e-mail do marcador de posição ("To": "test@example.com"). Tem de utilizar um endereço de e-mail compatível com conectores do Logic Apps. Para obter mais informações, veja os pré-requisitos.

    2. Substitua os detalhes adicionais do conector se estiver a utilizar outro conector de e-mail do que o conector Office 365 Outlook.

    3. Substitua os valores de subscrição do marcador de posição (00000000-0000-0000-0000-000000000000) dos identificadores de ligação (connectionId e id) no parâmetro de ligações ($connections) pelos seus próprios valores de subscrição.

  4. Guarde as alterações.

Script de exemplo

Nota

Este exemplo foi escrito para a bash shell. Se quiser executar este exemplo noutra shell, como Windows PowerShell ou Linha de Comandos, poderá ter de efetuar modificações ao script.

Antes de executar este script de exemplo, execute este comando para ligar ao Azure:


az login

Em seguida, navegue para o diretório no qual criou a definição do fluxo de trabalho. Por exemplo, se tiver criado o ficheiro JSON de definição de fluxo de trabalho no ambiente de trabalho:


cd ~/Desktop

Em seguida, execute este script para criar uma aplicação lógica.


#!/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 implementação

Depois de terminar de utilizar o script de exemplo, execute o seguinte comando para remover o grupo de recursos e todos os recursos aninhados, incluindo a aplicação lógica.


az group delete --name testResourceGroup --yes

Explicação do script

Este script de exemplo utiliza os seguintes comandos para criar um novo grupo de recursos e uma aplicação lógica.

Comando Notas
az group create Cria um grupo de recursos no qual os recursos da sua aplicação lógica são armazenados.
az logic workflow create Cria uma aplicação lógica com base no fluxo de trabalho definido no parâmetro --definition.
az group delete Elimina um grupo de recursos e todos os recursos aninhados.

Passos seguintes

Para obter mais informações sobre a CLI do Azure, veja a documentação da CLI do Azure.

Pode encontrar exemplos adicionais de scripts da CLI do Logic Apps no browser de exemplos de código da Microsoft.