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:
Azure Data Factory
Azure Synapse Analytics
Suggerimento
Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!
Nel paradigma pipeline chiamante-pipeline figlio, è possibile usare l'attività Imposta variabile per restituire valori dalla pipeline figlio alla pipeline chiamante. Nello scenario seguente, abbiamo una pipeline figlia tramite un'attività Execute Pipeline. E vogliamo recuperare le informazioni dalla pipeline figlia, per poi usarle nella pipeline chiamante.
Introdurre il valore di ritorno della pipeline, un dizionario di coppie chiave-valore, che consente la comunicazione tra le pipeline figlie e la pipeline padre.
Prerequisito: chiamare una pipeline secondaria
Come prerequisito, il progetto richiede un'attività di esecuzione della pipeline Execute Pipeline Activity che chiami una pipeline figlia, con l'opzione Attendere il completamento abilitata per l'attività.
Configurare il valore restituito della pipeline nella pipeline figlia
Abbiamo esteso l'attività Imposta variabile per includere le variabili di sistema Pipeline Return Value. Non è tuttavia necessario definirle a livello di pipeline, a differenza di qualsiasi altra variabile usata nella pipeline.
- Cercare Imposta variabile nel riquadro Attività pipeline e trascinare un'attività Imposta variabile nell'area di disegno della pipeline.
- Selezionare l'attività Imposta variabile nell'area di lavoro se non è già selezionata e quindi la relativa scheda Variabili per modificarne i dettagli.
- Scegliere Valore restituito della pipeline per il tipo di variabile.
- Selezionare Nuovo per aggiungere una nuova coppia chiave-valore.
- Il numero di coppie chiave-valore che è possibile aggiungere è limitato solo dalla dimensione del codice JSON restituito (4 MB).
Sono disponibili alcune opzioni per i tipi valore, tra cui
| Nome tipo | Descrizione |
|---|---|
| Stringa | Un valore di stringa costante. Ad esempio, ''ADF è impressionante''. |
| Espressione | Consente di fare riferimento all'output delle attività precedenti. In questo caso, è possibile usare l’interpolazione di stringhe per includere i valori delle espressioni in linea, ad esempio "The value is @{guid()}". |
| Array | Tale metodo prevede una matrice di valori stringa. Premere il tasto "INVIO" per separare i valori nella matrice |
| Booleano | True o False |
| Null | Stato del placeholder di segnale; il valore è costante null |
| Int | Un valore numerico di tipo intero. Ad esempio: 42. |
| Float | Un valore numerico di tipo float. Ad esempio: 2.71828. |
| Oggetto | Avviso solo per i casi d'uso complessi. Consente di incorporare un elenco di coppie chiave-valore come tipo di valore |
Il valore del tipo di oggetto è definito nel modo seguente:
[{"key": "myKey1", "value": {"type": "String", "content": "hello world"}},
{"key": "myKey2", "value": {"type": "String", "content": "hi"}}
]
Recupero valore nel flusso di chiamata
Il valore restituito della pipeline secondaria diventa l'output dell'attività Esegui Pipeline. È possibile recuperare le informazioni con @activity('Execute Pipeline1').output.pipelineReturnValue.keyName. Il caso d'uso è illimitato. Ad esempio, è possibile usare
- Valore int della pipeline secondaria per definire il periodo di attesa per un'attività di attesa.
- Valore di tipo stringa per definire l'URL per l'attività Web.
- Un valore di payload dell'espressione per un'attività di script per finalità di log.
Ci sono due richiami notevoli nel riferimento ai valori di ritorno della pipeline.
- Con il tipo Oggetto, è possibile espandere ulteriormente l'oggetto json annidato, ad esempio @activity('Execute Pipeline1').output.pipelineReturnValue.keyName.nextLevelKey
- Con il tipo di Array, è possibile specificare l'indice nell'elenco, con @activity('Execute Pipeline1').output.pipelineReturnValue.keyName[0]. Il numero è indicizzato a zero, ovvero inizia con 0.
Nota
Assicurati che la chiave keyName a cui si fa riferimento esista nella pipeline secondaria. Il generatore di espressioni di Azure Data Factory non può confermare la verifica referenziale. La pipeline avrà esito negativo se la chiave a cui si fa riferimento non è presente nel payload
Considerazioni speciali
Sebbene sia possibile includere più attività di impostazione del valore restituito nella pipeline, è importante assicurarsi che venga eseguita solo una di esse.
Per evitare il problema delle chiavi mancanti descritto in precedenza quando si chiama la pipeline, è consigliabile disporre dello stesso elenco di chiavi per tutti i rami della pipeline figlio. Prendere in considerazione l'uso di tipi Null per le chiavi che non dispongono di valori in un ramo specifico.
Il linguaggio delle espressioni di Azure Data Factory non supporta direttamente oggetti JSON inline. È invece necessario concatenare correttamente stringhe ed espressioni.
Ad esempio, per l'espressione JSON seguente:
{ "datetime": "@{utcnow()}", "date": "@{substring(utcnow(),0,10)}", "year": "@{substring(utcnow(),0,4)}", "month": "@{substring(utcnow(),5,2)}", "day": "@{substring(utcnow(),8,2)}" }Un'espressione equivalente di Azure Data Factory sarà:
@{ concat( '{', '"datetime": "', utcnow(), '", ', '"date": "', substring(utcnow(),0,10), '", ', '"year": "', substring(utcnow(),0,4), '", ', '"month": "', substring(utcnow(),5,2), '", ', '"day": "', substring(utcnow(),8,2), '"', '}' ) }
Contenuto correlato
Informazioni su un'altra attività del flusso di controllo correlata: