Dela via


Skriptexempel för Azure CLI – skapa en logikapp

Gäller för: Azure Logic Apps (förbrukning)

Det här skriptet skapar en exempellogikapp via Azure CLI Logic Apps-tillägget (az logic). En detaljerad guide för att skapa och hantera logikappar via Azure CLI finns i Logic Apps-snabbstarten för Azure CLI.

Varning

Azure CLI Logic Apps-tillägget är för närvarande experimentellt och omfattas inte av kundsupport. Använd det här CLI-tillägget med försiktighet, särskilt om du väljer att använda tillägget i produktionsmiljöer.

Förutsättningar

Kravkontroll

Verifiera din miljö innan du börjar:

Förklaring av exempelarbetsflöde

Den här exempelarbetsflödesdefinitionsfilen skapar samma grundläggande exempel på arbetsflödet för förbrukningslogikappen som i snabbstarten för Azure Portal.

Det här exempelarbetsflödet:

  1. Anger ett schema, $schema, för logikappen.

  2. Definierar en utlösare för logikappen i listan över utlösare, triggers. Utlösaren upprepas (recurrence) var 3:e timme. Åtgärderna utlöses när ett nytt flödesobjekt publiceras (When_a_feed_item_is_published) för det angivna RSS-flödet (feedUrl).

  3. Definierar en åtgärd för logikappen i listan över åtgärder, actions. Åtgärden skickar ett e-postmeddelande (Send_an_email_(V2)) via Microsoft 365 med information från RSS-feedobjekten som anges i brödtextavsnittet (body) för åtgärdens indata (inputs).

Exempel på arbetsflödesdefinition

Innan du kör exempelskriptet måste du först skapa en exempelarbetsflödesdefinition.

  1. Skapa en JSON-fil testDefinition.json på datorn.

  2. Kopiera följande innehåll till JSON-filen:

    
    {
        "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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testResourceGroup/providers/Microsoft.Web/connections/office365",
                        "connectionName": "office365",
                        "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/westus/managedApis/office365"
                    },
                    "rss": {
                        "connectionId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testResourceGroup/providers/Microsoft.Web/connections/rss",
                        "connectionName": "rss",
                        "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/westus/managedApis/rss"
                    }
                }
            }
        }
    }
    
    
  3. Uppdatera platshållarvärdena med din egen information:

    1. Ersätt platshållarens e-postadress ("To": "test@example.com"). Du måste använda en e-postadress som är kompatibel med Logic Apps-anslutningsappar. Mer information finns i förutsättningarna.

    2. Ersätt ytterligare anslutningsinformation om du använder en annan e-postanslutning än Office 365 Outlook-anslutningsprogrammet.

    3. Ersätt platshållarprenumerationsvärdena (00000000-0000-0000-0000-000000000000) för anslutningsidentifierarna (connectionId och id) under parametern connections ($connections) med dina egna prenumerationsvärden.

  4. Spara ändringarna.

Exempelskript

Anteckning

Det här exemplet är skrivet bash för gränssnittet. Om du vill köra det här exemplet i ett annat gränssnitt, till exempel Windows PowerShell eller kommandotolken, kan du behöva göra ändringar i skriptet.

Innan du kör det här exempelskriptet kör du det här kommandot för att ansluta till Azure:


az login

Gå sedan till katalogen där du skapade arbetsflödesdefinitionen. Om du till exempel har skapat JSON-filen för arbetsflödesdefinitionen på skrivbordet:


cd ~/Desktop

Kör sedan det här skriptet för att skapa en logikapp.


#!/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"

Rensa distribution

När du har använt exempelskriptet kör du följande kommando för att ta bort resursgruppen och alla dess kapslade resurser, inklusive logikappen.


az group delete --name testResourceGroup --yes

Förklaring av skript

Det här exempelskriptet använder följande kommandon för att skapa en ny resursgrupp och logikapp.

Kommando Kommentarer
az group create Skapar en resursgrupp där logikappens resurser lagras.
az logic workflow create Skapar en logikapp baserat på arbetsflödet som definierats i parametern --definition.
az group delete Tar bort en resursgrupp och alla dess kapslade resurser.

Nästa steg

Mer information om Azure CLI finns i Azure CLI-dokumentationen.

Du hittar fler Logic Apps CLI-skriptexempel i Microsofts webbläsare för kodexempel.