Condividi tramite


Creare i parametri tra ambienti da usare per gli input del flusso di lavoro in App per la logica di Azure

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

Quando è necessario astrarre valori che potrebbero cambiare nei flussi di lavoro in ambienti di sviluppo, test e produzione, è possibile definire i parametri del flusso di lavoro. Quando si usano questi parametri anziché variabili specifiche dell'ambiente, è possibile concentrarsi maggiormente sulla progettazione della logica di business del flusso di lavoro e quindi inserire le variabili specifiche dell'ambiente in un secondo momento.

Questo articolo illustra come creare, usare e modificare i parametri per i flussi di lavoro delle app di logica multi-tenant a consumo e per i flussi di lavoro delle app di logica standard per tenant singolo. Si apprenderà anche come gestire le variabili di ambiente.

Per maggiori informazioni su app per la logica di Azure multi-tenant e a tenant singolo, consultare Tenant singolo e multi tenant a confronto nelle app per la logica di Azure.

Prerequisiti

Confronto tra parametri per i flussi di lavoro delle app per la logica A consumo e Standard

Per i flussi di lavoro delle logic app Consumption e Standard, è possibile definire i parametri usando il designer del flusso di lavoro. Dopo aver definito un parametro, è possibile fare riferimento a tale parametro da qualsiasi flusso di lavoro o connessione nella stessa risorsa dell'app per la logica.

Nei flussi di lavoro delle applicazioni logiche a consumo in ambienti multi-tenant, si creano e si usano i parametri nello strumento di progettazione. Quindi si definiscono e si impostano le variabili di ambiente nei file del modello di Azure Resource Manager e dei parametri del modello. In questo scenario è necessario definire e impostare i parametri in fase di distribuzione. Questo requisito significa che anche se è necessario modificare una sola variabile, è necessario ridistribuire il modello arm dell'app per la logica.

Nei flussi di lavoro dell'app per la logica Standard a singolo tenant è possibile usare variabili di ambiente sia in fase di esecuzione che in fase di distribuzione usando i parametri e le impostazioni dell'app. Le impostazioni dell'app contengono opzioni di configurazione globali per tutti i flussi di lavoro nella stessa risorsa dell'app per la logica. Per altre informazioni, vedere Modificare le impostazioni dell'host e dell'app per app per la logica basate su singolo tenant.

Importante

Quando si usano informazioni riservate, ad esempio stringhe di connessione che includono nomi utente e password, assicurarsi di usare il flusso di autenticazione più sicuro disponibile. Ad esempio, nei flussi di lavoro dell'app per la logica Standard, i tipi di dati sicuri, ad esempio securestring e secureobject, non sono supportati. Microsoft consiglia di autenticare l'accesso alle risorse di Azure con un'identità gestita, quando possibile, e assegnare un ruolo con i privilegi minimi necessari.

Se questa funzionalità non è disponibile, assicurarsi di proteggere le stringhe di connessione tramite altri mezzi, ad esempio Azure Key Vault, che è possibile usare con le impostazioni dell'app. È quindi possibile fare riferimento direttamente a stringhe sicure, ad esempio stringhe di connessione e chiavi. Analogamente ai modelli ARM, in cui è possibile definire le variabili di ambiente in fase di distribuzione, è possibile indicare le impostazioni dell'app all'interno della definizione del flusso di lavoro dell'app per la logica. È quindi possibile acquisire valori dell'infrastruttura generati dinamicamente, ad esempio endpoint di connessione e stringhe di archiviazione. Per altre informazioni, vedere Tipi di applicazione per Microsoft Identity Platform.

Le impostazioni dell'app hanno limiti di dimensioni. Non è anche possibile farvi riferimento da determinate aree in App per la logica di Azure. I parametri offrono una gamma più ampia di casi d'uso rispetto alle impostazioni dell'app, ad esempio il supporto per dimensioni di valori di grandi dimensioni e oggetti complessi.

Ad esempio, se si usa Visual Studio Code come strumento di sviluppo per eseguire flussi di lavoro in locale, è possibile definire i parametri usando il file parameters.json . È quindi possibile fare riferimento a qualsiasi parametro in questo file di parametri da qualsiasi flusso di lavoro nel file workflow.json del progetto o da qualsiasi oggetto connessione nel file connections.json del progetto. L'elenco seguente descrive i casi d'uso comuni:

  • Avere un file di parametri di test che include tutti i valori usati durante il test. In fase di distribuzione, sostituire il file dei parametri di test con il file dei parametri di produzione.

  • Parametrizzare parti diverse del file connections.json. È quindi possibile controllare il file connections.json nel controllo del codice sorgente e gestire eventuali connessioni tramite il file parameters.json .

  • Parametrizzare oggetti complessi, ad esempio l'oggetto JSON authentication. Ad esempio, è possibile sostituire il valore dell'oggetto authentication con una stringa che contiene una singola espressione di parametri, ad esempio @parameters('api-auth').

  • Rivedere e modificare le impostazioni dell'app nel file local.settings.json del progetto. Fare quindi riferimento a queste impostazioni dell'app nei parametri.

Note

Prendere in considerazione l'uso dei parametri come metodo predefinito per parametrizzare i valori anziché le impostazioni dell'app. In questo modo, quando è necessario archiviare stringhe o chiavi sicure, è possibile seguire il consiglio di fare riferimento alle impostazioni dell'app dai parametri. È possibile usare entrambe le opzioni nella soluzione usando i parametri per fare riferimento alle impostazioni dell'app.

Definire, usare e modificare parametri

Questa procedura descrive come usare i parametri per i flussi di lavoro delle app per la logica a consumo o Standard nel portale di Azure.

  1. Nel portale di Azure aprire la risorsa app per la logica.

    • Per le app per la logica Standard, nel menu della barra laterale delle risorse, sotto Flussi di lavoro, selezionare Flussi di lavoro.

      Nella pagina Flussi di lavoro selezionare il flusso di lavoro vuoto per aprire la finestra di progettazione.

    • Per app di logica a consumo, nel menu della barra laterale delle risorse, in Strumenti di sviluppo, selezionare il designer per aprire il flusso di lavoro.

  2. Sulla barra degli strumenti della finestra di progettazione, selezionare Parametri.

    Screenshot che mostra il portale di Azure con il progettista di flussi di lavoro aperto e Parametri sulla barra degli strumenti del progettista evidenziati.

  3. Nel riquadro Parametri, selezionare Crea parametro.

  4. Specificare le informazioni seguenti sul parametro da creare:

    Proprietà Obbligatoria Descrizione
    Nome Il nome del parametro da creare.
    Tipo Il tipo di dati per il parametro, ad esempio Array, Bool, Float, Int, Object e String.

    Nota: nei flussi di lavoro dell'app per la logica Standard, i tipi di dati sicuri, ad esempio securestring e secureobject, non sono supportati.
    Valore (standard) Il valore per il parametro.

    In Flussi di lavoro dell'app per la logica Standard, specificare il valore del parametro. La logica del flusso di lavoro, le informazioni di connessione e i valori dei parametri non esistono in un'unica posizione. Il progettista deve essere in grado di determinare i valori dei parametri prima di caricare il flusso di lavoro.
    Valore predefinito (consumo) Il valore predefinito per il parametro. È necessario specificare il valore del parametro predefinito. La logica del flusso di lavoro, le informazioni di connessione e i valori dei parametri non esistono in un'unica posizione. Il progettista deve essere in grado di determinare i valori dei parametri prima di caricare il flusso di lavoro.

    Importante: per i tipi di dati Secure Object e Secure String, evitare di impostare un valore predefinito perché il valore viene archiviato come testo normale.
    Valore effettivo (consumo) NO Il valore effettivo per il parametro.

    L'esempio seguente illustra una definizione per un parametro stringa:

    Screenshot che mostra il portale di Azure con la finestra di progettazione del flusso di lavoro e il riquadro Parametri con una definizione di parametro di esempio.

  5. Al termine, chiudere il riquadro Parametri . Assicurarsi di salvare il flusso di lavoro in modo da salvare la nuova definizione di parametro.

Per fare riferimento al parametro da un trigger o un'azione in qualsiasi flusso di lavoro per la stessa app per la logica, seguire questa procedura:

  1. Nella finestra di progettazione aprire il flusso di lavoro desiderato e selezionare il trigger o l'azione.

  2. Nel riquadro informazioni, nella scheda Parametri , nella proprietà in cui si desidera utilizzare il parametro, selezionare all'interno della casella di modifica di tale proprietà. Selezionare l'icona a forma di fulmine per aprire l'elenco di contenuto dinamico.

  3. Da tale elenco, in Parametri selezionare il parametro creato in precedenza.

    La schermata mostra il parametro creato nell'elenco dei contenuti dinamici.

Per visualizzare o modificare i parametri nella stessa app per la logica:

  1. Aprire un flusso di lavoro nella finestra di progettazione del flusso di lavoro. Per le app per la logica di consumo, selezionare Strumenti di sviluppo>Progettazione app per la logica. Per le app logiche di tipo Standard, selezionare Flussi di lavoro>, e poi selezionare un flusso di lavoro per aprire il designer.

  2. Sulla barra degli strumenti della finestra di progettazione, selezionare Parametri.

    Viene aperto il riquadro Parametri e vengono visualizzati tutti i parametri definiti nell'app per la logica.

  • Solo flussi di lavoro standard: per visualizzare o modificare in formato JSON bulk, nel menu della barra laterale delle risorse selezionare Parametri. Nel riquadro Parametri selezionare Modifica in JSON.

    Si apre la vista JSON Parametri e vengono visualizzati tutti i parametri definiti dai flussi di lavoro in tale app per la logica.

Visual Studio Code

Questa procedura descrive come usare i parametri per i flussi di lavoro dell'app per la logica Standard usando Visual Studio Code.

  1. In un file JSON a livello radice di progetto denominato parameters.json, definire tutti i parametri e i relativi valori. Questo file ha un oggetto che include coppie chiave-valore. Ogni chiave è il nome per ogni parametro. Ogni valore è la struttura per il parametro . Ogni struttura deve includere una dichiarazione sia type che value.

    Importante

    Il fileparameters.json deve definire e includere tutti i parametri e i relativi valori a cui si fa riferimento o che si usano altrove nel progetto. Questo requisito include le definizioni e le connessioni del flusso di lavoro.

    L'esempio seguente mostra un file di parametri di base:

    {
        "responseString": { 
            "type": "string", 
            "value": "hello" 
        },
        "functionAuth": { 
            "type": "object", 
            "value": { 
                "type": "QueryString", 
                "name": "Code", 
                "value": "@appsetting('<AzureFunctionsOperation-FunctionAppKey>')" 
            }
        }
     }
    

    Note

    Nel file parameters.json, @appsetting è l'unico tipo di espressione valido.

  2. Per fare riferimento ai parametri negli input azione o trigger, usare l'espressione @parameters('<parameter-name>').

Parametrizzare il file di connessioni

Per parametrizzare il file connections.json, sostituire i valori per i valori letterali, ad esempio ConnectionRuntimeUrl, con una singola espressione parameters(), ad esempio @parameters('api-runtimeUrl'). Nel file connections.json, gli unici tipi di espressione validi sono @parameters e @appsetting.

Importante

Se si parametrizza il file connections.json durante lo sviluppo, l'esperienza di progettazione diventa limitata, sia in locale che nel portale di Azure. Se è necessario usare il designer per lo sviluppo, usare invece un file connections.json non parametrizzato. Quindi, nelle pipeline di distribuzione, sostituire con il file parametrizzato. Il runtime funziona ancora con la parametrizzazione. Sono in fase di sviluppo miglioramenti della finestra di progettazione.

L'esempio seguente mostra un file connections.json parametrizzato che usa sia le impostazioni dell'app che i parametri. Questo file di esempio usa un parametro per l'oggetto di autenticazione blob_auth complesso e le impostazioni dell'app per gli altri valori.

Se possibile, si vogliono usare i parametri. Poiché le impostazioni dell'app vengono generate durante la distribuzione e sono più facili da popolare in modo dinamico in una pipeline di sviluppo, è consigliabile usare le impostazioni dell'app sui parametri in questo scenario. In questo caso, è possibile usare un parametro per l'oggetto di autenticazione perché è improbabile che faccia riferimento al parametro nel flusso di lavoro:

{
   "serviceProviderConnections": {
      "serviceBus": {
         "parameterValues": {
            "connectionString": "@appsetting('serviceBus_connectionString')"
        },
        "serviceProvider": {
           "id": "/serviceProviders/serviceBus"
        },
        "displayName": "servicebus"
     }
   },
   "managedApiConnections": {
      "azureblob": {
         "api": {
            "id": "/subscriptions/@{appsetting('WORKFLOWS_SUBSCRIPTION_ID')}/providers/Microsoft.Web/locations/@{appsetting('WORKFLOWS_LOCATION_NAME')}/managedApis/azureblob"
         },
         "connection": {
            "id": "/subscriptions/@{appsetting('WORKFLOWS_SUBSCRIPTION_ID')}/resourceGroups/@{appsetting('WORKFLOWS_RESOURCE_GROUP_NAME')}/providers/Microsoft.Web/connections/azureblob"
         },
         "connectionRuntimeUrl": "@appsetting('BLOB_CONNECTION_RUNTIMEURL')",
         "authentication": "@parameters('blob_auth')"
      }
   }
}

Note

Quando si ha un'espressione inline con testo normale, assicurarsi di usare il formato interpolato per tale espressione racchiudendo tale espressione tra parentesi ({}). Questo formato consente di evitare problemi di analisi.

Ad esempio, avendo "<text>/@<function-name>('<parameter-name>')/<text>", usare invece la versione seguente: "<text>/@{<function-name>('<parameter-name>')}/<text>".

Per altre informazioni, vedere Considerazioni sull'uso delle funzioni.

Gestire file di parametri

Generalmente, è necessario gestire più versioni dei file di parametri. È possibile usare valori di destinazione per ambienti di distribuzione diversi, ad esempio sviluppo, test e produzione. La gestione di questi file di parametri spesso funziona come la gestione dei file dei parametri del modello ARM. Quando si esegue la distribuzione in un ambiente specifico, si promuove il file di parametri corrispondente, generalmente tramite una pipeline per DevOps.

Per sostituire dinamicamente i file di parametri tramite l'interfaccia della riga di comando di Azure, usare il comando seguente:

az functionapp deploy --resource-group MyResourceGroup --name MyLogicApp --src-path C:\parameters.json --type static --target-path parameters.json

Se si dispone di un progetto di app per la logica basata su NuGet, è necessario aggiornare il file di progetto (<logic-app-name.csproj>) per includere il file di parametri nell'output di compilazione, ad esempio:

<ItemGroup>
  <None Update="parameters.json">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </None>
</ItemGroup>

Note

Attualmente, la possibilità di sostituire dinamicamente i file dei parametri non è disponibile nel portale di Azure o nella finestra di progettazione del flusso di lavoro.

Per altre informazioni sulla configurazione delle app per la logica per le distribuzioni DevOps, vedere gli articoli seguenti:

Gestire le impostazioni dell'app

Nelle app per la logica Standard le impostazioni dell'app contengono opzioni di configurazione globali per tutti i flussi di lavoro nella stessa app per la logica. Quando si eseguono flussi di lavoro in locale in Visual Studio Code, è possibile accedere a queste impostazioni dell'app come variabili di ambiente locali nel file local.settings.json. È quindi possibile fare riferimento a queste impostazioni dell'app nei parametri.

Le sezioni seguenti descrivono come aggiungere, aggiornare o eliminare le impostazioni dell'app per Visual Studio Code, il portale di Azure, l'interfaccia della riga di comando di Azure e il modello arm (Bicep).

Esaminare le impostazioni dell'app usando il portale di Azure

Per rivedere le impostazioni dell'app per la risorsa dell'app per la logica nel portale di Azure, seguire questi passaggi:

  1. Nel portale di Azure aprire la risorsa app per la logica.

  2. Nel menu della barra laterale della risorsa, in Impostazioni, selezionare Variabili di ambiente.

  3. Nella pagina Variabili di ambiente, nella scheda Impostazioni app, esaminare le impostazioni dell'app per la logica.

  4. Per visualizzare tutti i valori, selezionare Mostra valori. In alternativa, per visualizzare un singolo valore, selezionare tale valore.

Per aggiungere una nuova impostazione, seguire questi passaggi:

  1. In Impostazioni applicazione selezionare + Aggiungi.

  2. Per Nome, immettere la chiave o il nome per la nuova impostazione.

  3. Per Valore, immettere il valore per la nuova impostazione.

  4. Se necessario, selezionare Impostazione slot di distribuzione.

  5. Quando si è pronti per creare la nuova coppia chiave-valore , selezionare Applica.

Esaminare le impostazioni dell'app con l'interfaccia della riga di comando di Azure

Per rivedere le impostazioni correnti dell'app tramite l'interfaccia della riga di comando di Azure, eseguire il comando az logicapp config appsettings list. Assicurarsi che il comando includa i parametri --name -n e --resource-group -g, ad esempio:

az logicapp config appsettings list --name MyLogicApp --resource-group MyResourceGroup

Per aggiungere o aggiornare un'impostazione dell'app tramite l'interfaccia della riga di comando di Azure, eseguire il comando az logicapp config appsettings set. Assicurarsi che il comando includa i parametri --name n e --resource-group -g. Ad esempio, il comando seguente crea un'impostazione con una chiave denominata CUSTOM_LOGIC_APP_SETTING con un valore 12345:

az logicapp config appsettings set --name MyLogicApp --resource-group MyResourceGroup --settings CUSTOM_LOGIC_APP_SETTING=12345 

Esaminare e definire le impostazioni dell'app in un file Resource Manager o Bicep

Per esaminare e definire le impostazioni della tua app in un modello ARM o in un file Bicep, trova la definizione della risorsa della tua app logica e aggiorna l'oggetto appSettings JSON. Per la definizione della risorsa completa, vedere la Documentazione di riferimento del modello ARM.

Questo esempio mostra le impostazioni dei file per i modelli arm o i file Bicep:

"appSettings": [
    {
        "name": "string",
        "value": "string"
    },
    {
        "name": "string",
        "value": "string"
    },
    <...>
],