Creare modelli per la distribuzione delle app per la logica e la gestione dei rilasciCreate templates for logic apps deployment and release management

Una volta creata un'app per la logica, è possibile crearla come un modello di Azure Resource Manager.After a logic app has been created, you might want to create it as an Azure Resource Manager template. Così facendo, l'app per la logica potrà essere facilmente distribuita in qualsiasi ambiente o gruppo di risorse in cui potrebbe essere necessaria.This way, you can easily deploy the logic app to any environment or resource group where you might need it. Per altre informazioni sui modelli di Resource Manager, vedere gli articoli su creazione di modelli di Resource Manager e distribuzione delle risorse con i modelli di Azure Resource Manager.For more about Resource Manager templates, see authoring Azure Resource Manager templates and deploying resources by using Azure Resource Manager templates.

Modello di distribuzione di app per la logicaLogic app deployment template

Un'app per la logica dispone di tre componenti di base:A logic app has three basic components:

  • Risorsa di app per la logica: contiene informazioni su elementi quali piano tariffario, posizione e definizione del flusso di lavoro.Logic app resource: Contains information about things like pricing plan, location, and the workflow definition.
  • Definizione del flusso di lavoro: descrive i passaggi del flusso di lavoro dell'app per la logica e come il motore dell'app per la logica deve eseguire il flusso di lavoro.Workflow definition: Describes your logic app's workflow steps and how the Logic Apps engine should execute the workflow. È possibile visualizzare questa definizione nella finestra Visualizzazione Codice dell'app per la logica.You can view this definition in your logic app's Code View window. Nella risorsa di app per la logica è possibile trovare questa definizione nella proprietà definition.In the logic app resource, you can find this definition in the definition property.
  • Connessioni: si riferisce a risorse separate per archiviare in modo sicuro i metadati su qualsiasi connessione del connettore, ad esempio una stringa di connessione e un token di accesso.Connections: Refers to separate resources that securely store metadata about any connector connections, such as a connection string and an access token. Nella risorsa di app per la logica, l'app per la logica si riferisce a queste risorse nella sezione parameters.In the logic app resource, your logic app references these resources in the parameters section.

È possibile visualizzare tutti questi elementi delle app per la logica esistenti usando uno strumento come Esplora inventario risorse di Azure.You can view all these pieces of existing logic apps by using a tool like Azure Resource Explorer.

Per creare un modello per un'app per la logica da usare con distribuzioni di gruppi di risorse, è necessario definire le risorse e creare i parametri necessari.To make a template for a logic app to use with resource group deployments, you must define the resources and parameterize as needed. Ad esempio, se si esegue la distribuzione in un ambiente di sviluppo, un ambiente di test e un ambiente di produzione, è probabile che in ogni si vogliano usare stringhe di connessione a un database SQL diverse.For example, if you're deploying to a development, test, and production environment, you likely want to use different connection strings to a SQL database in each environment. In alternativa, è possibile che si voglia eseguire la distribuzione in sottoscrizioni o gruppi di risorse diversi.Or, you might want to deploy within different subscriptions or resource groups.

Creare un modello di distribuzione di app per la logicaCreate a logic app deployment template

Il modo più semplice per ottenere un modello di distribuzione di app per la logica consiste nell'usare Visual Studio Tools per app per la logica.The easiest way to have a valid logic app deployment template is to use the Visual Studio Tools for Logic Apps. Gli strumenti di Visual Studio generano un modello di distribuzione valido, che può essere usato in qualsiasi sottoscrizione o località.The Visual Studio tools generate a valid deployment template that can be used across any subscription or location.

Esistono altri strumenti utili per la creazione di un modello di distribuzione di app per la logica.A few other tools can assist you as you create a logic app deployment template. È possibile eseguire la creazione manualmente utilizzando le risorse appena descritte per creare i parametri in base alle esigenze.You can author by hand, that is, by using the resources already discussed here to create parameters as needed. In alternativa è possibile utilizzare un modulo Logic App Template Creator di PowerShell.Another option is to use a logic app template creator PowerShell module. Questo modulo open source valuta l'app per la logica ed eventuali connessioni che utilizza, quindi genera risorse del modello con i parametri necessari per la distribuzione.This open-source module first evaluates the logic app and any connections that it is using, and then generates template resources with the necessary parameters for deployment. Se, ad esempio, si dispone di un'app per la logica che ha ricevuto un messaggio da una coda del bus del servizio di Azure e ha aggiunto dati a un database SQL di Azure, lo strumento conserva l'intera logica di orchestrazione e crea parametri per le stringhe di connessione di SQL e del bus di servizio, in modo che sia possibile configurarle in fase di distribuzione.For example, if you have a logic app that receives a message from an Azure Service Bus queue and adds data to an Azure SQL database, the tool preserves all the orchestration logic and parameterizes the SQL and Service Bus connection strings so that they can be set at deployment.

Nota

Le connessioni devono essere incluse nello stesso gruppo di risorse dell'app per la logica.Connections must be within the same resource group as the logic app.

Installare il modulo PowerShell per il modello di app per la logicaInstall the logic app template PowerShell module

Il modo più semplice per installare il modulo consiste nell'usare la PowerShell Gallery con il comando Install-Module -Name LogicAppTemplate.The easiest way to install the module is via the PowerShell Gallery, by using the command Install-Module -Name LogicAppTemplate.

È inoltre possibile installare il modulo PowerShell manualmente:You also can install the PowerShell module manually:

  1. Scaricare la versione più recente di Logic App Template Creator.Download the latest release of the logic app template creator.
  2. Estrarre la cartella nella cartella del modulo PowerShell, in genere %UserProfile%\Documents\WindowsPowerShell\Modules.Extract the folder in your PowerShell module folder (usually %UserProfile%\Documents\WindowsPowerShell\Modules).

Per consentire il funzionamento del modulo con qualsiasi tenant e qualsiasi token di accesso della sottoscrizione, è consigliabile usare lo strumento della riga di comando ARMClient.For the module to work with any tenant and subscription access token, we recommend that you use it with the ARMClient command-line tool. Questo post di blog illustra ARMClient in modo più dettagliato.This blog post discusses ARMClient in more detail.

Generare un modello di app per la logica tramite PowerShellGenerate a logic app template by using PowerShell

Dopo aver installato PowerShell, è possibile generare un modello utilizzando il comando seguente:After PowerShell is installed, you can generate a template by using the following command:

armclient token $SubscriptionId | Get-LogicAppTemplate -LogicApp MyApp -ResourceGroup MyRG -SubscriptionId $SubscriptionId -Verbose | Out-File C:\template.json

$SubscriptionId è l'ID sottoscrizione di Azure.$SubscriptionId is the Azure subscription ID. Questa riga ottiene innanzitutto un token di accesso tramite ARMClient, lo trasmette allo script di PowerShell e quindi crea il modello in un file JSON.This line first gets an access token via ARMClient, then pipes it through to the PowerShell script, and then creates the template in a JSON file.

Aggiungere parametri a un modello di app per la logicaAdd parameters to a logic app template

Dopo aver creato il modello di app per la logica, è possibile continuare ad aggiungere o modificare i parametri necessari.After you create your logic app template, you can continue to add or modify parameters that you might need. Se, ad esempio, la definizione include un ID di risorsa in una funzione di Azure o in un flusso di lavoro annidato in cui si prevede eseguire una singola distribuzione, è possibile aggiungere altre risorse al modello e creare parametri per gli ID in base alla necessità.For example, if your definition includes a resource ID to an Azure function or nested workflow that you plan to deploy in a single deployment, you can add more resources to your template and parameterize IDs as needed. Lo stesso approccio è applicabile a qualsiasi riferimento ad API personalizzate o endpoint Swagger che si prevede di distribuire in ogni gruppo di risorse.The same applies to any references to custom APIs or Swagger endpoints you expect to deploy with each resource group.

Distribuire un modello di app per la logicaDeploy a logic app template

Per distribuire il modello, è possibile usare alcuni strumenti, inclusi PowerShell, API REST, Visual Studio Team Services Release Management e la distribuzione dei modelli attraverso il Portale di Azure.You can deploy your template by using any tools like PowerShell, REST API, Visual Studio Team Services Release Management, and template deployment through the Azure portal. Per archiviare i valori per i parametri, è inoltre consigliabile creare un file di parametri.Also, to store the values for parameters, we recommend that you create a parameter file. Sono disponibili informazioni su come distribuire risorse con i modelli di Azure Resource Manager e PowerShell o distribuire risorse con i modelli di Azure Resource Manager e il Portale di Azure.Learn how to deploy resources with Azure Resource Manager templates and PowerShell or deploy resources with Azure Resource Manager templates and the Azure portal.

Autorizzare le connessioni OAuthAuthorize OAuth connections

Una volta distribuite, le app per la logica funzionano end-to-end con parametri validi.After deployment, the logic app works end-to-end with valid parameters. Tuttavia, è necessario continuare ad autorizzare le connessioni OAuth per generare un token di accesso valido.However, you must still authorize OAuth connections to generate a valid access token. Per autorizzare le connessioni OAuth, aprire l'app per la logica nella finestra di progettazione delle app per la logica e autorizzare le connessioni.To authorize OAuth connections, open the logic app in the Logic Apps Designer, and authorize these connections. In alternativa, per la distribuzione automatizzata è possibile usare uno script per consentire ogni connessione OAuth.Or for automated deployment, you can use a script to consent to each OAuth connection. Nel progetto LogicAppConnectionAuth è presente uno script di esempio su GitHub.There's an example script on GitHub under the LogicAppConnectionAuth project.

Visual Studio Team Services Release ManagementVisual Studio Team Services Release Management

Uno scenario comune per la distribuzione e la gestione di ambienti consiste nell'usare uno strumento come Release Management di Visual Studio Team Services con un modello di distribuzione di app per la logica.A common scenario for deploying and managing an environment is to use a tool like Release Management in Visual Studio Team Services, with a logic app deployment template. Visual Studio Team Services include un'attività Distribuisci gruppo di risorse di Azure , che può essere aggiunta in una build o in una pipeline di rilascio.Visual Studio Team Services includes a Deploy Azure Resource Group task that you can add to any build or release pipeline. Per l'autorizzazione alla distribuzione è necessario avere un'entità servizio. Sarà quindi possibile generare la definizione della versione.You need to have a service principal for authorization to deploy, and then you can generate the release definition.

  1. In Release Management selezionare Vuoto per creare una definizione vuota.In Release Management, select Empty so that you create an empty definition.

    Creare una definizione vuota

  2. Scegliere le risorse necessarie, possibilmente includendo il modello di app per la logica generato manualmente o nell'ambito del processo di compilazione.Choose any resources you need for this, most likely including the logic app template that is generated manually or as part of the build process.

  3. Aggiungere un'attività Distribuzione gruppo di risorse di Azure .Add an Azure Resource Group Deployment task.
  4. Eseguire la configurazione con un' entità servizio, quindi fare riferimento ai file Modello e Parametri modello.Configure with a service principal, and reference the Template and Template Parameters files.
  5. Continuare a compilare passaggi nel processo di rilascio per eventuali altri ambienti, test automatizzati o responsabili approvazione necessari.Continue to build out steps in the release process for any other environment, automated test, or approvers as needed.