Creare un trigger di evento personalizzato per eseguire una pipeline in Azure Data Factory
SI APPLICA A: Azure Data Factory Azure Synapse Analytics
Suggerimento
Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .
Un'architettura guidata dagli eventi è un comune modello di integrazione dei dati che implica produzione, rilevamento, utilizzo e risposta agli eventi. Gli scenari di integrazione dei dati spesso richiedono ai clienti di Azure Data Factory di attivare pipeline quando si verificano determinati eventi. L'integrazione nativa di Data Factory con Griglia di eventi di Azure ora illustra gli argomenti personalizzati. Gli eventi vengono inviati a un argomento di Griglia di eventi. Data Factory sottoscrive l'argomento, rimane in ascolto e quindi attiva le pipeline di conseguenza.
Nota
L'integrazione descritta in questo articolo dipende dalla Griglia di eventi di Azure. Verificare che la sottoscrizione sia registrata con il provider di risorse di Griglia di eventi. Per altre informazioni, vedere Provider e tipi di risorse. È necessario essere in grado di eseguire l'azione Microsoft.EventGrid/eventSubscriptions/
. Questa azione fa parte del ruolo predefinito EventGrid EventSubscription Contributor .
Importante
Se si usa questa funzionalità in Azure Synapse Analytics, assicurarsi che la sottoscrizione sia registrata anche con il provider di risorse di Data Factory o che venga visualizzato un errore che informa che la creazione di una "sottoscrizione di eventi" non è riuscita.
Se si combinano parametri della pipeline e un trigger di eventi personalizzati, è possibile analizzare e fare riferimento a payload personalizzati data
nelle esecuzioni della pipeline. Poiché il data
campo in un payload di evento personalizzato è una struttura a forma libera e chiave-valore JSON, è possibile controllare le esecuzioni di pipeline guidate dagli eventi.
Importante
Se manca una chiave a cui viene fatto riferimento nella parametrizzazione nel payload dell'evento personalizzato, trigger run
avrà esito negativo. Verrà visualizzato un errore che indica che l'espressione non può essere valutata perché la proprietà keyName
non esiste. In questo caso, l'evento nonpipeline run
verrà attivato.
Configurare un argomento personalizzato in Griglia di eventi
Per usare il trigger di eventi personalizzato in Data Factory, è prima necessario configurare un argomento personalizzato in Griglia di eventi.
Passare a Griglia di eventi di Azure e creare l'argomento manualmente. Per altre informazioni su come creare l'argomento personalizzato, vedere esercitazioni sul portale Griglia di eventi di Azure e esercitazioni sull'interfaccia della riga di comando.
Nota
Il flusso di lavoro è diverso da Archiviazione Trigger di eventi. In questo caso, Data Factory non configura l'argomento.
Data Factory prevede che gli eventi seguano lo schema di eventi di Griglia di eventi. Assicurarsi che i payload degli eventi abbiano i campi seguenti:
[
{
"topic": string,
"subject": string,
"id": string,
"eventType": string,
"eventTime": string,
"data":{
object-unique-to-each-publisher
},
"dataVersion": string,
"metadataVersion": string
}
]
Usare Data Factory per creare un trigger di eventi personalizzato
Passare ad Azure Data Factory e accedere.
Passare alla scheda Modifica . Cercare l'icona a forma di matita.
Selezionare Trigger nel menu e quindi selezionare Nuovo/Modifica.
Nella pagina Aggiungi trigger selezionare Scegli trigger e quindi + Nuovo.
Selezionare Eventi personalizzati per Tipo.
Selezionare l'argomento personalizzato dall'elenco a discesa della sottoscrizione di Azure o immettere manualmente l'ambito dell'argomento dell'evento.
Nota
Per creare o modificare un trigger di evento personalizzato in Data Factory, è necessario usare un account Azure con il controllo degli accessi in base al ruolo appropriato. Non è necessaria alcuna autorizzazione aggiuntiva. L'entità servizio di Data Factory non richiede autorizzazioni speciali per Griglia di eventi. Per altre informazioni sul controllo di accesso, vedere la sezione Controllo degli accessi in base al ruolo .
L'oggetto inizia con e Subject termina con le proprietà che consentono di filtrare gli eventi di trigger. Entrambe le proprietà sono facoltative.
Usare + Nuovo per aggiungere tipi di evento per filtrare. L'elenco di trigger di eventi personalizzati usa una relazione OR. Quando un evento personalizzato con una
eventType
proprietà corrispondente a uno nell'elenco, viene attivata un'esecuzione della pipeline. Il tipo di evento non fa distinzione tra maiuscole e minuscole. Nello screenshot seguente, ad esempio, il trigger corrisponde a tutti glicopycompleted
eventi ocopysucceeded
che hanno un oggetto che inizia con le factory.Un trigger di evento personalizzato può analizzare e inviare un payload personalizzato
data
alla pipeline. Si creano i parametri della pipeline e quindi si compilano i valori nella pagina Parametri . Usare il formato@triggerBody().event.data._keyName_
per analizzare il payload dei dati e passare i valori ai parametri della pipeline.Per una spiegazione dettagliata, vedere gli articoli seguenti:
- Metadati del trigger di riferimento nelle pipeline
- Variabili di sistema nel trigger di eventi personalizzato
Dopo aver immesso i parametri, selezionare OK.
Filtro avanzato
Il trigger di eventi personalizzato supporta funzionalità di filtro avanzate, analogamente al filtro avanzato di Griglia di eventi. Questi filtri condizionali consentono alle pipeline di attivare in base ai valori del payload dell'evento. Ad esempio, potrebbe essere presente un campo nel payload dell'evento, denominato Reparto e pipeline, deve essere attivato solo se Department è uguale a Finance. È anche possibile specificare logica complessa, ad esempio il campo data nell'elenco [1, 2, 3, 4, 5], il campo mese non incluso nell'elenco [11, 12], il campo tag contiene uno qualsiasi di ['Anno fiscale 2021', 'FiscalYear2021', 'FY2021'].
A partire da oggi il trigger di eventi personalizzato supporta un subset di operatori di filtro avanzati in Griglia di eventi. Sono supportate le condizioni di filtro seguenti:
- NumberIn
- NumberNotIn
- NumberLessThan
- NumberGreaterThan
- NumberLessThanOrEquals
- NumberGreaterThanOrEquals
- BoolEquals
- StringContains
- StringBeginsWith
- StringEndsWith
- StringIn
- StringNotIn
Selezionare +Nuovo per aggiungere nuove condizioni di filtro.
Inoltre, i trigger di eventi personalizzati rispettano le stesse limitazioni di Griglia di eventi, tra cui:
- 5 filtri avanzati e 25 valori di filtro in tutti i filtri per ogni trigger di evento personalizzato
- 512 caratteri per ogni valore stringa
- 5 valori per gli operatori in e non in
- le chiavi non possono contenere
.
(punto) caratteri, ad esempiojohn.doe@contoso.com
. Attualmente non è disponibile alcun supporto per i caratteri di escape nelle chiavi. - È possibile usare l'elemento key in più filtri.
Data Factory si basa sulla versione disponibile a livello generale più recente dell'API griglia di eventi. Man mano che le nuove versioni dell'API arrivano alla fase ga, Data Factory espanderà il supporto per operatori di filtro più avanzati.
Schema JSON
La tabella seguente offre una panoramica degli elementi dello schema correlati ai trigger di eventi personalizzati:
Elemento JSON | Descrizione | Tipo | Valori consentiti | Richiesto |
---|---|---|---|---|
scope |
ID risorsa di Azure Resource Manager dell'argomento Griglia di eventi. | Stringa | ID Azure Resource Manager | Sì |
events |
Tipo di eventi che provocano l'attivazione del trigger. | Matrice di stringhe | Sì, è previsto almeno un valore. | |
subjectBeginsWith |
Il subject campo deve iniziare con il modello fornito per l'attivazione del trigger. Ad esempio, le factory attivano solo il trigger per gli oggetti evento che iniziano con le factory. |
Stringa | No | |
subjectEndsWith |
Il subject campo deve terminare con il modello fornito per l'attivazione del trigger. |
Stringa | No | |
advancedFilters |
Elenco di BLOB JSON, ognuno dei quali specifica una condizione di filtro. Ogni BLOB specifica key , operatorType e values . |
Elenco di BLOB JSON | No |
Controllo degli accessi in base al ruolo
Azure Data Factory usa il controllo degli accessi in base al ruolo di Azure per impedire l'accesso non autorizzato. Per funzionare correttamente, Data Factory richiede l'accesso a:
- Ascoltare gli eventi.
- Sottoscrivere gli aggiornamenti dagli eventi.
- Attivare pipeline collegate a eventi personalizzati.
Per creare o aggiornare correttamente un trigger di evento personalizzato, è necessario accedere a Data Factory con un account Azure con accesso appropriato. In caso contrario, l'operazione avrà esito negativo con un errore di accesso negato .
Data Factory non richiede autorizzazioni speciali per Griglia di eventi. Non è inoltre necessario assegnare un'autorizzazione speciale per il ruolo controllo degli accessi in base al ruolo di Azure all'entità servizio di Data Factory per l'operazione.
In particolare, è necessaria Microsoft.EventGrid/EventSubscriptions/Write
l'autorizzazione per /subscriptions/####/resourceGroups//####/providers/Microsoft.EventGrid/topics/someTopics
.
- Quando si crea nella data factory (ad esempio nell'ambiente di sviluppo), l'account Azure connesso deve avere l'autorizzazione precedente
- Durante la pubblicazione tramite CI/CD, l'account usato per pubblicare il modello di Resource Manager nella factory di test o produzione deve avere l'autorizzazione precedente.
Contenuto correlato
- Ottenere informazioni dettagliate sull'esecuzione del trigger.
- Informazioni su come fare riferimento ai metadati del trigger nelle esecuzioni della pipeline.