È possibile utilizzare i workflow Avvia workflow in serie e Avvia workflow in parallelo per eseguire un workflow su una selezione di oggetti.
Non è possibile eseguire i workflow Avvia workflow in serie e Avvia workflow in parallelo direttamente. È necessario includerli in un altro workflow creato. Per utilizzare i workflow Avvia workflow in serie e Avvia workflow in parallelo per eseguire un workflow su una selezione di oggetti, è necessario ottenere gli oggetti su cui eseguire il workflow. È possibile passare questi oggetti e tutti gli altri parametri di input richiesti dal workflow come un array di proprietà. I workflow Avvia workflow in serie e Avvia workflow in parallelo emettono i risultati dell'esecuzione del workflow sulla selezione di oggetti come un array di oggetti WorkflowToken.
È possibile implementare i workflow Avvia workflow in serie e Avvia workflow in parallelo nello stesso modo. Il workflow Avvia workflow in serie esegue il workflow su ogni oggetto in sequenza. Il workflow Avvia workflow in parallelo esegue il workflow su tutti gli oggetti simultaneamente.
Prerequisiti
Aprire un workflow da modificare nell'editor di workflow.
Procedura
- Nello schema del workflow, aggiungere un'Attività gestibile tramite script o un Elemento azione per ottenere un elenco di oggetti su cui eseguire il workflow.
Ad esempio, per eseguire un workflow su tutte le macchine virtuali in una cartella di macchine virtuali, è possibile aggiungere l'azione
getAllVirtualMachinesByFolder al workflow.
- Collegare l'azione o l'elemento controllati da script e associare l'input e l'output dell'elemento o dell'azione controllati da script agli input o alle variabili del workflow.
Ad esempio, è possibile associare l'input
vmFolder dell'azione
getAllVirtualMachinesByFolder a un parametro di input del workflow e l'output
actionResult a una variabile del workflow nel workflow chiamante.
- Aggiungere un elemento Attività gestibile tramite script per inserire l'elenco di oggetti in un array di proprietà.
Ad esempio, se gli oggetti su cui eseguire il workflow sono un array di macchine virtuali,
allVMs, restituito dall'output
actionResult dell'azione
getAllVirtualMachinesByFolder, è possibile scrivere lo script seguente per inserire gli oggetti in un array di proprietà.
propsArray = new Array();
for each (var vm in allVMs) {
var prop = new Properties();
prop.put("vm", vm);
propsArray.push(prop);
}
- Associare gli input e gli output dell'attività gestibile tramite script alle variabili del workflow.
Nell'elemento attività gestibile tramite script di esempio nel passaggio 3, si associa l'input all'array di macchine virtuali
allVMs e si crea la variabile di output
propsArray come un array di oggetti
Properties.
- Aggiungere un Elemento workflow allo schema del workflow.
- Selezionare il workflow Avvia workflow in serie o Avvia workflow in parallelo e collegare l'elemento workflow agli altri elementi.
- Per eseguire il workflow sugli oggetti, associare l'input wf del workflow Avvia workflow in serie o Avvia workflow in parallelo al workflow.
Ad esempio, per rimuovere tutti gli snapshot di tutte le macchine virtuali restituite dall'azione
getAllVirtualMachinesByFolder, selezionare il workflow
Rimuovi tutti gli snapshot.
- Associare l'input parameters del workflow Avvia workflow in serie o Avvia workflow in parallelo all'array di oggetti Properties che contiene gli oggetti su cui eseguire il workflow.
Ad esempio, associare l'input
parameters alla variabile
propsArray definita nel passaggio 4.
- (Facoltativo) Associare l'output workflowTokens del workflow Avvia workflow in serie o Avvia workflow in parallelo a una variabile nel workflow.
- (Facoltativo) Continuare ad aggiungere altri elementi che utilizzano i risultati dell'esecuzione del workflow Avvia workflow in serie o Avvia workflow in parallelo.
risultati
È stato creato un workflow che utilizza il workflow
Avvia workflow in serie o
Avvia workflow in parallelo per eseguire un workflow su una selezione di oggetti.