Creare variabili per archiviare e gestire i valori in App per la logica di Azure
Si applica a: App per la logica di Azure (a consumo e standard)
Questa guida pratica illustra come creare e usare variabili in modo che sia possibile archiviare e usare i valori nel flusso di lavoro dell'app per la logica. Ad esempio, le variabili consentono di tenere traccia del numero di esecuzioni di un ciclo. Per scorrere una matrice o controllare una matrice per un elemento specifico, è possibile usare una variabile per fare riferimento al numero di indice per ogni elemento della matrice.
Puoi creare variabili per tipi di dati come integer, float, boolean, string, array e object. Dopo aver creato una variabile, puoi eseguire altre attività, ad esempio:
- Ottieni o fai riferimento al valore della variabile.
- Aumentare o ridurre la variabile di un valore costante, noto anche come incremento e decremento.
- Assegnare un valore differente alla variabile.
- Inserire o aggiungere il valore della variabile come ultimo elemento in una stringa o matrice.
Le variabili esistono e sono globali solo all'interno dell'istanza del flusso di lavoro che le crea. Inoltre, vengono mantenuti in qualsiasi iterazione del ciclo all'interno di un'istanza del flusso di lavoro. Quando si fa riferimento a una variabile, utilizzare il nome della variabile come token, non il nome dell'azione, che è il modo usuale per fare riferimento agli output di un'azione.
Importante
Per impostazione predefinita, le iterazioni in un ciclo For each vengono eseguite in parallelo. Quando si usano variabili nei cicli, eseguire il ciclo in sequenza in modo che le variabili restituisca risultati prevedibili.
Prerequisiti
Account e sottoscrizione di Azure. Se non si ha una sottoscrizione, è possibile iscriversi per creare un account Azure gratuito.
Flusso di lavoro dell'app per la logica in cui si vuole creare la variabile e un trigger che avvia il flusso di lavoro.
Prima di poter aggiungere azioni per la creazione e l'uso delle variabili, il flusso di lavoro deve iniziare con un trigger come primo passaggio del flusso di lavoro. Per altre informazioni, vedere Creare un flusso di lavoro con un trigger o un'azione.
I passaggi seguenti usano la portale di Azure, ma con l'estensione App per la logica di Azure appropriata, è anche possibile usare gli strumenti seguenti per creare flussi di lavoro dell'app per la logica:
- Flussi di lavoro a consumo: Visual Studio Code
- Creare flussi di lavoro Standard: Visual Studio Code
A seconda che si disponga di un flusso di lavoro a consumo o Standard, seguire i passaggi corrispondenti:
Inizializzare una variabile
È possibile creare una variabile e dichiararne il tipo di dati e il valore iniziale usando una singola azione nel flusso di lavoro. Puoi dichiarare le variabili solo a livello globale, non all'interno di ambiti, condizioni e cicli.
Nella portale di Azure aprire il flusso di lavoro nella finestra di progettazione.
Nella finestra di progettazione seguire questa procedura generale per aggiungere un'azione denominata Inizializza variabile.
Specificare le informazioni seguenti sulla variabile:
Proprietà Richiesto Valore Descrizione Nome Sì < variable-name> Il nome della variabile da inizializzare Tipo Sì < variable-type> Il tipo di dati per la variabile Valore No < start-value> Valore iniziale per la variabile
Suggerimento: anche se facoltativo, impostare il valore come procedura consigliata in modo da conoscere sempre il valore iniziale della variabile.L'esempio seguente mostra i valori iniziali per questa variabile di esempio:
Continuare ora ad aggiungere le azioni desiderate per lo scenario. Al termine, nella barra degli strumenti di progettazione, seleziona Salva.
Se si passa dalla finestra di progettazione alla visualizzazione codice, l'esempio seguente mostra come viene visualizzata l'azione Inizializza variabile nella definizione del flusso di lavoro, ovvero in formato JSON (JavaScript Object Notation):
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "Count",
"type": "Integer",
"value": 0
}
]
},
"runAfter": {}
}
}
Nota
Anche se l'azione Inizializza variabile ha un "variables"
oggetto strutturato come matrice, l'azione può creare una sola variabile alla volta. Ogni nuova variabile richiede un'azione individuale Inizializza variabile.
Gli esempi seguenti illustrano altri tipi di variabile:
Variabile booleana
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myBooleanVariable",
"type": "boolean",
"value": false
}
]
},
"runAfter": {}
}
},
Variabile float
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myFloatVariable",
"type": "float",
"value": 1.99999
}
]
},
"runAfter": {}
}
},
Variabile stringa
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myStringVariable",
"type": "string",
"value": "lorem ipsum"
}
]
},
"runAfter": {}
}
},
Variabile oggetto
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "MyObjectVariable",
"type": "object",
"value": {
"ProductItem": {
"Name": "myProductName",
"ProductID": "000000"
}
}
}
]
},
"runAfter": {}
}
},
Matrice con integer
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myArrayVariable",
"type": "array",
"value": [1, 2, 3]
}
]
},
"runAfter": {}
}
},
Matrice con stringhe
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myArrayVariable",
"type": "array",
"value": ["red", "orange", "yellow"]
}
]
},
"runAfter": {}
}
},
Ottenere il valore di una variabile
Per recuperare o fare riferimento al contenuto di una variabile, è possibile usare la funzione variables() nella finestra di progettazione del flusso di lavoro e nell'editor di visualizzazione codice. Quando si fa riferimento a una variabile, utilizzare il nome della variabile come token, non il nome dell'azione, che è il modo usuale per fare riferimento agli output di un'azione.
Ad esempio, l'espressione seguente ottiene gli elementi dalla variabile di matrice creata in questa guida usando la variables()
funzione . La funzione string()
restituisce il contenuto della variabile in formato stringa: "1, 2, 3, red"
@{string(variables('myArrayVariable'))}
Incrementa variable
Per aumentare o incrementare una variabile in base a un valore costante specifico, aggiungere l'azione Increment variabile al flusso di lavoro. Questa azione funziona solo con le variabili integer e float.
Nella finestra di progettazione del flusso di lavoro seguire questa procedura generale per aggiungere un'azione denominata Incremento variabile.
Specificare le informazioni seguenti per questa azione:
Proprietà Richiesto Valore Descrizione Nome Sì < variable-name> Il nome della variabile da incrementare Valore No < increment-value> Il valore utilizzato per incrementare la variabile. Il valore predefinito è 1
.
Suggerimento: anche se facoltativo, impostare questo valore come procedura consigliata in modo da conoscere sempre il valore specifico per incrementare la variabile.L'esempio seguente mostra i valori di esempio per questa azione:
Al termine, salvare il flusso di lavoro. Sulla barra degli strumenti della finestra di progettazione seleziona Salva.
Se si passa dalla finestra di progettazione alla visualizzazione codice, l'esempio seguente mostra come viene visualizzata l'azione Increment variable nella definizione del flusso di lavoro, ovvero in formato JSON:
"actions": {
"Increment_variable": {
"type": "IncrementVariable",
"inputs": {
"name": "Count",
"value": 1
},
"runAfter": {}
}
},
Esempio: crea un contatore di cicli
Le variabili vengono comunemente utilizzate per contare il numero di volte in cui viene eseguito un ciclo. Questo esempio illustra come creare e usare variabili per questa attività creando un ciclo che conta gli allegati in un messaggio di posta elettronica.
Nella portale di Azure creare la risorsa dell'app per la logica a consumo con un flusso di lavoro vuoto. Aggiungi un trigger che verifica la presenza di nuove e-mail e eventuali allegati.
Questo esempio utilizza il trigger di Outlook in Office 365 per All'arrivo di un nuovo messaggio di posta elettronica. Puoi impostare questo trigger in modo che si attivi solo quando l'e-mail ha allegati. Tuttavia, puoi utilizzare qualsiasi connettore che verifichi la presenza di nuovi messaggi di posta elettronica con allegati, come il connettore Outlook.com.
Nel trigger, per verificare la presenza di allegati e passare tali allegati al flusso di lavoro, selezionare Sì per le proprietà seguenti:
- Solo con allegato
- Includi allegati
Aggiungere l'azione Inizializza variabile per creare una variabile integer denominata Count con un valore iniziale impostato su
0
.Per scorrere ogni allegato, seguire questa procedura generale per aggiungere un'azione denominata Ciclo For each.
Nel ciclo selezionare all'interno della casella denominata Selezionare un output dei passaggi precedenti. Dopo aver visualizzato l'elenco di contenuto dinamico, in All'arrivo di un nuovo messaggio di posta elettronica selezionare Allegati.
La proprietà Attachments passa una matrice che contiene gli allegati di posta elettronica dall'output del trigger nel ciclo per eseguire l'iterazione del flusso di lavoro.
Nel ciclo For each selezionare Aggiungi un'azione.
Seguire questi passaggi generali per aggiungere un'azione denominata Incremento variabile al ciclo.
Nota
Assicurarsi che l'azione Increment variabile venga visualizzata all'interno del ciclo. Se l'azione viene visualizzata all'esterno del ciclo, trascinare l'azione nel ciclo.
Nell'azione Incrementa variabile, dall'elenco Nome, seleziona la variabile Conta. Impostare la proprietà Value su
1
.Nel ciclo, aggiungi qualsiasi azione che ti invii il numero di allegati. Nella tua azione, includi il valore dalla variabile Conta, ad esempio:
Al termine, salvare il flusso di lavoro. Sulla barra degli strumenti della finestra di progettazione seleziona Salva.
Testare il flusso di lavoro
Per attivare manualmente il flusso di lavoro, seguire il passaggio corrispondente:
Flusso di lavoro A consumo
Sulla barra degli strumenti del flusso di lavoro della finestra di progettazione selezionare Esegui esecuzione trigger> per eseguire manualmente il flusso di lavoro.
Flusso di lavoro Standard
Nel menu del flusso di lavoro, selezionare Panoramica. Sulla barra degli strumenti selezionare Esegui>.
Inviare un messaggio di posta elettronica con uno o più allegati all'account di posta elettronica usato in questo esempio.
Questo passaggio attiva il trigger del flusso di lavoro, che crea ed esegue un'istanza del flusso di lavoro. Di conseguenza, il flusso di lavoro invia un messaggio o un messaggio di posta elettronica che mostra il numero di allegati nel messaggio di posta elettronica inviato.
Se si passa dalla finestra di progettazione alla visualizzazione codice, l'esempio seguente mostra come viene visualizzato il ciclo For each insieme all'azione Increment variable nella definizione del flusso di lavoro, ovvero in formato JSON:
"actions": {
"For_each": {
"type": "Foreach",
"actions": {
"Increment_variable": {
"type": "IncrementVariable",
"inputs": {
"name": "Count",
"value": 1
},
"runAfter": {}
}
},
"foreach": "@triggerBody()?['Attachments']",
"runAfter": {
"Initialize_variable": [ "Succeeded" ]
}
}
},
Decrementa variabile
Per ridurre o decrementare una variabile in base a un valore costante specifico, seguire i passaggi per incrementare una variabile , ad eccezione del fatto che si aggiunge l'azione Decrement variabile al flusso di lavoro. Questa azione funziona solo con le variabili integer e float.
Nella tabella seguente vengono descritte le informazioni relative all'azione Decrement variable (Decrement variable ):
Proprietà | Richiesto | Valore | Descrizione |
---|---|---|---|
Nome | Sì | < variable-name> | Il nome della variabile da decrementare |
Valore | No | < decrement-value> | Il valore utilizzato per decrementare la variabile. Il valore predefinito è uno. Suggerimento: sebbene facoltativo, imposta questo valore come procedura consigliata in modo da conoscere sempre il valore specifico per il decremento della variabile. |
Se si passa dalla finestra di progettazione alla visualizzazione codice, l'esempio seguente mostra come viene visualizzata l'azione Decrement variable nella definizione del flusso di lavoro, ovvero in formato JSON:
"actions": {
"Decrement_variable": {
"type": "DecrementVariable",
"inputs": {
"name": "Count",
"value": 1
},
"runAfter": {}
}
},
Imposta variabile
Per assegnare un valore diverso a una variabile esistente, seguire la procedura per incrementare una variabile con le eccezioni seguenti:
Trova e seleziona l'azione Imposta variabile.
Fornisci il nome e il valore della variabile che desideri assegnare. Sia il nuovo valore che la variabile devono avere lo stesso tipo di dati. Il valore è obbligatorio perché questa azione non ha un valore predefinito.
Nella tabella seguente vengono descritte le informazioni per l'azione Imposta variabile :
Proprietà | Richiesto | Valore | Descrizione |
---|---|---|---|
Nome | Sì | < variable-name> | Il nome della variabile da modificare |
Valore | Sì | < new-value> | Il valore che desideri assegnare alla variabile. Entrambi devono avere lo stesso tipo di dati. |
Nota
A meno che non si stiano incrementando o decrementando le variabili, la modifica delle variabili all'interno dei cicli potrebbe creare risultati imprevisti poiché i cicli vengono eseguiti in parallelo, o contemporaneamente, per impostazione predefinita. In questi casi, provare a impostare il ciclo in modo che venga eseguito in sequenza. Ad esempio, quando si desidera fare riferimento al valore della variabile all'interno del ciclo e si prevede lo stesso valore all'inizio e alla fine dell'istanza del ciclo, attenersi alla procedura seguente per modificare la modalità di esecuzione del ciclo:
Nel ciclo trovare e aprire le impostazioni del ciclo.
In base al tipo di flusso di lavoro, seguire i passaggi corrispondenti:
Consumo: modificare l'impostazione Controllo concorrenza da Disattivato a Sì.
Standard: in Generale modificare l'impostazione Controllo concorrenza da Disattivato a Sì.
Trascinare il dispositivo di scorrimento Degree of Parallelism (Grado di parallelismo) su 1.
Se si passa dalla finestra di progettazione alla visualizzazione codice, l'esempio seguente mostra come viene visualizzata l'azione Imposta variabile nella definizione del flusso di lavoro, in formato JSON:
Nell'esempio seguente il Count
valore corrente della variabile viene modificato in un altro valore:
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [ {
"name": "Count",
"type": "Integer",
"value": 0
} ]
},
"runAfter": {}
},
"Set_variable": {
"type": "SetVariable",
"inputs": {
"name": "Count",
"value": 100
},
"runAfter": {
"Initialize_variable": [ "Succeeded" ]
}
}
},
Aggiungi a variabile
Per le variabili che memorizzano stringhe o array, puoi inserire o aggiungere il valore di una variabile come ultimo elemento in quelle stringhe o array. È possibile seguire la procedura per incrementare una variabile con le eccezioni seguenti:
Individuare e selezionare una delle azioni seguenti a seconda che la variabile sia una stringa o una matrice:
- Aggiungi a variabile di stringa
- Aggiungi a variabile di array
Fornisci il valore da aggiungere come ultimo elemento nella stringa o nell'array. Questo valore è obbligatorio.
Nella tabella seguente vengono descritte le informazioni per le azioni Aggiungi a... :
Proprietà | Richiesto | Valore | Descrizione |
---|---|---|---|
Nome | Sì | < variable-name> | Il nome della variabile da modificare |
Valore | Sì | < append-value> | Il valore che desideri aggiungere, che può essere di qualsiasi tipo |
Se si passa dalla finestra di progettazione alla visualizzazione codice, l'esempio seguente mostra come viene visualizzata l'azione Aggiungi alla variabile di matrice nella definizione del flusso di lavoro, in formato JSON.
Nell'esempio seguente viene creata una variabile di matrice e viene aggiunto un altro valore come ultimo elemento nella matrice. Il risultato è una variabile aggiornata che contiene la matrice: [1,2,3,"red"]
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [ {
"name": "myArrayVariable",
"type": "Array",
"value": [1, 2, 3]
} ]
},
"runAfter": {}
},
"Append_to_array_variable": {
"type": "AppendToArrayVariable",
"inputs": {
"name": "myArrayVariable",
"value": "red"
},
"runAfter": {
"Initialize_variable": [ "Succeeded" ]
}
}
},