Condividi tramite


Esempio di script CLI di Azure - Creare una Logic App

Si applica a: App per la logica di Azure (a consumo)

Questo script crea un'applicazione logica di esempio tramite l'estensione Logic Apps di Azure CLI (). Per una guida dettagliata alla creazione e alla gestione delle app per la logica tramite l'interfaccia della riga di comando di Azure, vedere la guida introduttiva alle app per la logica per l'interfaccia della riga di comando di Azure.

Avvertimento

L'estensione app per la logica dell'interfaccia della riga di comando di Azure è attualmente sperimentale e non è coperta dall'assistenza clienti. Usare questa estensione dell'interfaccia della riga di comando con cautela, soprattutto se si sceglie di usare l'estensione negli ambienti di produzione.

Prerequisiti

Controllo dei prerequisiti

Prima di iniziare, convalidare l'ambiente:

Spiegazione del flusso di lavoro di esempio

Questo file di definizione del flusso di lavoro di esempio crea lo stesso flusso di lavoro dell'app per la logica a consumo di base, come illustrato nella guida introduttiva per il portale di Azure.

Questo flusso di lavoro di esempio:

  1. Specifica uno schema, $schema, per l'applicazione logica.

  2. Definisce un trigger per l'app logica nell'elenco dei trigger, triggers. Il trigger si ripete (recurrence) ogni 3 ore. Le azioni vengono attivate quando viene pubblicato un nuovo elemento del feed (When_a_feed_item_is_published) per il feed RSS specificato (feedUrl).

  3. Definisce un'azione per l'app di logica nell'elenco di azioni, actions. L'azione invia un messaggio di posta elettronica (Send_an_email_(V2)) tramite Microsoft 365 con i dettagli degli elementi del feed RSS, come specificato nella sezione corpo () degli input dell'azione (bodyinputs).

Definizione del flusso di lavoro di esempio

Prima di eseguire lo script di esempio, è necessario creare una definizione del flusso di lavoro di esempio.

  1. Creare un file JSON sul testDefinition.json computer.

  2. Copiare il contenuto seguente nel file 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/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. Aggiornare i valori segnaposto con le proprie informazioni:

    1. Sostituire l'indirizzo di posta elettronica segnaposto ("To": "test@example.com"). È necessario usare un indirizzo email compatibile con i connettori di Logic Apps. Per ulteriori informazioni, consultare i prerequisiti .

    2. Sostituire altri dettagli del connettore se si usa un altro connettore di posta elettronica rispetto al connettore di Office 365 Outlook.

    3. Sostituire i valori di sottoscrizione segnaposto (00000000-0000-0000-0000-000000000000) per gli identificatori di connessione (connectionId e id) nel parametro connections ($connections) con i valori di sottoscrizione personalizzati.

  4. Salvare le modifiche.

Script di esempio

Annotazioni

Questo esempio viene scritto per la bash shell. Se si vuole eseguire questo esempio in un'altra shell, ad esempio Windows PowerShell o prompt dei comandi, potrebbe essere necessario apportare modifiche allo script.

Prima di eseguire questo script di esempio, eseguire questo comando per connettersi ad Azure:


az login

Passare quindi alla directory in cui è stata creata la definizione del flusso di lavoro. Ad esempio, se è stato creato il file JSON di definizione del flusso di lavoro sul desktop:


cd ~/Desktop

Eseguire quindi questo script per creare un'app per la logica.


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

Riorganizzare la distribuzione

Al termine dell'uso dello script di esempio, eseguire il comando seguente per rimuovere il gruppo di risorse e tutte le risorse annidate, inclusa l'app per la logica.


az group delete --name testResourceGroup --yes

Spiegazione dello script

Questo script di esempio usa i comandi seguenti per creare un nuovo gruppo di risorse e un'app per la logica.

Comando Note
az group create Crea un gruppo di risorse in cui vengono archiviate le risorse dell'app per la logica.
az logic workflow create Crea un'app per la logica basata sul flusso di lavoro definito nel parametro --definition.
az group delete Elimina un gruppo di risorse e tutte le relative risorse annidate.

Passaggi successivi

Per altre informazioni sull'interfaccia della riga di comando di Azure, vedere la documentazione sull'interfaccia della riga di comando di Azure.

Puoi trovare ulteriori esempi di script del CLI di Azure Logic Apps nel browser dei campioni di codice Microsoft.