Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: App per la logica di Azure (A consumo e Standard)
Questa guida pratica illustra come creare e usare variabili in modo da poter 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 volte in cui un ciclo viene eseguito. Per eseguire l'iterazione su una matrice o cercare un elemento specifico in una matrice è possibile usare una variabile per fare riferimento al numero di indice di ogni elemento della matrice.
È possibile creare variabili per tipi di dati quali integer, float, booleano, stringa, matrice e oggetto. Dopo aver creato una variabile è possibile eseguire altre attività, ad esempio:
- Ottenere o fare riferimento al valore della variabile.
- Aumentare o diminuire la variabile di un valore costante, noto anche come incremento e decremento.
- Assegnare un valore diverso 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 persistono in tutte le iterazioni di ciclo all'interno di un'istanza del flusso di lavoro. Quando si fa riferimento a una variabile, usare 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 le variabili nei cicli, eseguire il ciclo in sequenza in modo che le variabili restituiscano risultati prevedibili.
Prerequisiti
Un account e una 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 quale primo passaggio del flusso di lavoro. Per altre informazioni, vedere Aggiungere un trigger o un'azione per compilare un flusso di lavoro.
I passaggi seguenti usano il portale di Azure; tuttavia, con l'estensione App per la logica di Azure appropriata, è anche possibile usare gli strumenti seguenti per creare flussi di lavoro delle app per la logica:
- Flussi di lavoro A consumo: Visual Studio Code
- Creare flussi di lavoro Standard: Visual Studio Code
Alcuni passaggi differiscono leggermente in base al fatto che si disponga di un flusso di lavoro A consumo o Standard.
Inizializzare una variabile
È possibile creare una variabile e dichiararne il tipo e il valore iniziale in un'unica azione ne flusso di lavoro. È possibile dichiarare solo variabili a livello globale, non all'interno di ambiti, condizioni e cicli.
Nel portale di Azure, aprire il flusso di lavoro dell'app per la logica nella finestra di progettazione.
Nella finestra di progettazione seguire questi passaggi generali per i flussi di lavoro a consumo o Standard per aggiungere un'azione denominata Inizializza variabili.
Specificare le informazioni seguenti sulla variabile:
Proprietà Obbligatoria Valore Descrizione Nome Sì < variable-name> Nome della variabile da inizializzare Tipo Sì < tipo variabile> Tipo di dati per la variabile Valore NO < valore iniziale> Valore iniziale della variabile
Suggerimento: anche se è facoltativo, impostare il valore come procedura consigliata in modo da conoscere sempre il valore iniziale della variabile.Per creare più variabili alla volta, selezionare Aggiungi variabile.
L'esempio seguente mostra i valori iniziali per questa variabile di esempio:
Continuare ad aggiungere le azioni desiderate per lo scenario. Al termine, sulla barra degli strumenti della finestra di progettazione selezionare Salva.
Se si passa dalla finestra di progettazione alla vista del codice, il seguente esempio mostra l'azione Inizializza variabile all'interno della definizione del flusso di lavoro, nel formato JSON (JavaScript Object Notation):
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "Count",
"type": "Integer",
"value": 0
}
]
},
"runAfter": {}
}
}
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 numeri interi
"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 variables() funzione nella finestra di progettazione del flusso di lavoro e nell'editor della visualizzazione codice. Quando si fa riferimento a una variabile, usare 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 funzione variables(). La funzione string() restituisce il contenuto della variabile in formato stringa: "1, 2, 3, red".
@{string(variables('myArrayVariable'))}
Incrementare una variabile
Per aumentare o incrementare una variabile secondo un valore costante aggiungere l'azione Incrementa variabile al flusso di lavoro. Questa operazione funziona solo con le variabili integer e float.
Nella finestra di progettazione seguire questi passaggi generali per i flussi di lavoro a consumo o Standard per aggiungere un'azione denominata variabile incremento.
Specificare le informazioni seguenti per l'azione:
Proprietà Obbligatoria Valore Descrizione Nome Sì < variable-name> Nome della variabile da incrementare Valore NO < valore-di-incremento> Valore usato 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 selezionare Salva.
Se si passa dalla finestra di progettazione alla vista del codice, il seguente esempio mostra l'azione Incrementa variabile all'interno della definizione del flusso di lavoro, nel formato JSON:
"actions": {
"Increment_variable": {
"type": "IncrementVariable",
"inputs": {
"name": "Count",
"value": 1
},
"runAfter": {}
}
},
Esempio: Creazione del contatore di cicli
Le variabili vengono comunemente usate per contare il numero di volte in cui viene eseguito un ciclo. Questo esempio mostra come è possibile creare e usare le variabili per questa attività creando un ciclo che conta gli allegati in un messaggio di posta elettronica.
Nel portale di Azure, creare una risorsa dell'app per la logica con un flusso di lavoro vuoto. Aggiungere un trigger che verifica la presenza di nuovo messaggio di posta elettronica e degli eventuali allegati.
Questo esempio usa il trigger di Office 365 Outlook per When a new email arrives (Quando arriva un nuovo messaggio di posta elettronica). È possibile impostare l'attivazione del trigger solo quando il messaggio di posta elettronica contiene degli allegati. Tuttavia è possibile usare un connettore qualsiasi per verificare la presenza di nuovi messaggi di posta elettronica con allegati, ad esempio il connettore Outlook.com.
Nel trigger, per controllare gli allegati e trasferirli nel flusso di lavoro, selezionare Sì per le seguenti proprietà:
- Solo con allegato
- Includi allegati
Aggiungere l'azione Inizializza variabile per creare una variabile integer denominata Count che ha un valore iniziale impostato su 0.
Nella finestra di progettazione seguire questi passaggi generali per i flussi di lavoro a consumo o standard per aggiungere un'azione denominata ciclo Per ogni.
Nel ciclo selezionare all'interno della casella denominata Selezionare un output da Passaggi precedenti per visualizzare le opzioni di input. Selezionare l'icona a forma di fulmine per aprire l'elenco di contenuto dinamico. Dall'elenco, in Quando arriva un nuovo messaggio di posta elettronica, seleziona Allegati.
La proprietà Allegati passa una matrice che contiene gli allegati di messaggi 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 il flusso di lavoro a consumo o Standard per aggiungere un'azione denominata variabile incremento al ciclo.
Note
Assicurarsi che l'azione Incrementa variabile sia visualizzata all'interno del ciclo. Se l'azione viene visualizzata all'esterno del ciclo, trascinare l'azione nel ciclo.
Nell'azione Increment variable (Incrementare una variabile) dall'elenco Name (Nome) selezionare la variabile Count (Conteggio). Impostare la proprietà Value su 1.
Sotto il ciclo aggiungere qualsiasi azione che invii il numero di allegati. Nell'azione includere il valore della variabile Count (Conteggio), ad esempio:
Al termine, salvare il flusso di lavoro. Sulla barra degli strumenti della finestra di progettazione selezionare Salva.
Testare il flusso di lavoro
Per attivare manualmente il flusso di lavoro, sulla barra degli strumenti della finestra di progettazione selezionare Esegui>Esegui per eseguire manualmente il flusso di lavoro.
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 email che riporta il numero di allegati nel messaggio di posta elettronica inviato.
Se si passa dalla finestra di progettazione alla vista del codice, il seguente esempio mostra come il ciclo For each è visualizzato accanto all'azione Incrementa variabile all'interno della definizione del flusso di lavoro, nel 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" ]
}
}
},
Decrementare una 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 Riduci variabile al flusso di lavoro. Questa operazione funziona solo con le variabili integer e float.
Nella tabella seguente vengono descritte le informazioni relative all'azione Riduci variabile:
| Proprietà | Obbligatoria | Valore | Descrizione |
|---|---|---|---|
| Nome | Sì | < variable-name> | Nome della variabile da decrementare |
| Valore | NO | < valore-di-decremento> | Valore per decrementare la variabile Il valore predefinito è uno. Suggerimento: anche se è facoltativo, impostare questo valore come procedura consigliata in modo da conoscere sempre il valore specifico per decrementare la variabile. |
Se si passa dalla finestra di progettazione alla vista del codice, il seguente esempio mostra l'azione Riduci variabile all'interno della definizione del flusso di lavoro, nel formato JSON:
"actions": {
"Decrement_variable": {
"type": "DecrementVariable",
"inputs": {
"name": "Count",
"value": 1
},
"runAfter": {}
}
},
Impostare una variabile
Per assegnare un valore diverso a una variabile esistente, seguire gli passaggi indicati per incrementare una variabile con le seguenti eccezioni:
Individuare e selezionare invece l'azione Imposta variabile.
Fornire il nome della variabile e il valore da 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 relative all'azione Imposta variabile:
| Proprietà | Obbligatoria | Valore | Descrizione |
|---|---|---|---|
| Nome | Sì | < variable-name> | Nome della variabile da modificare |
| Valore | Sì | < new-value> | Valore a cui si vuole assegnare la variabile. Entrambi devono avere lo stesso tipo di dati. |
Note
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:
Selezionare il ciclo per visualizzare il riquadro informazioni e quindi selezionare Impostazioni.
Nella sezione Generale, in Controllo della concorrenza, modificare l'impostazione da Disattivato a Attivato.
Trascinare il dispositivo di scorrimento Grado di parallelismo su 1.
Se si passa dalla finestra di progettazione alla vista del codice, il seguente esempio mostra l'azione Imposta variabile all'interno della definizione del flusso di lavoro, nel formato JSON:
L'esempio seguente modifica il valore corrente della variabile Count 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" ]
}
}
},
Accodare a una variabile
Per le variabili che memorizzano stringhe o matrici è possibile inserire o accodare il valore di una variabile come ultimo elemento di tali stringhe o matrici. È 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:
- Accoda a variabile di stringa
- Accoda a variabile di matrice
Fornire il valore da accodare come ultimo elemento nella stringa o nella matrice. Questo valore è obbligatorio.
Nella tabella seguente vengono descritte le informazioni per le azioni Aggiungi a... :
| Proprietà | Obbligatoria | Valore | Descrizione |
|---|---|---|---|
| Nome | Sì | < variable-name> | Nome della variabile da modificare |
| Valore | Sì | < aggiungi valore> | Valore da accodare, di qualsiasi tipo |
Se si passa dalla finestra di progettazione alla vista del codice, il seguente esempio mostra l'azione Aggiungi a variabile di matrice all'interno della definizione del flusso di lavoro, nel formato JSON.
L'esempio seguente crea una variabile matrice e aggiunge un altro valore come ultimo elemento della 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" ]
}
}
},