Creare un trigger di eventi personalizzati 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 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!
Un'architettura guidata dagli eventi è un comune modello di integrazione dei dati che implica produzione, rilevamento, utilizzo e risposta agli eventi. Negli scenari di integrazione dei dati è spesso necessario che i clienti di Azure Data Factory attivino pipeline quando si verificano determinati eventi. L'integrazione nativa di Data Factory con Griglia di eventi di Azure copre ora argomenti personalizzati. Dopo aver inviato un evento a un argomento di Griglia di eventi, Data Factory sottoscrive l'argomento, rimane in ascolto e attiva le pipeline di conseguenza.
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 un provider di risorse di Data Factory. In caso contrario, viene visualizzato un messaggio in cui si specifica che "la creazione di una sottoscrizione di eventi non è riuscita".
Se si combinano i parametri della pipeline con un trigger di eventi personalizzati, è possibile analizzare e fare riferimento a payload data
personalizzati nelle esecuzioni della pipeline. Poiché il campo data
in un payload di evento personalizzato è una struttura a mano libera di un valore di chiave JSON, è possibile controllare le esecuzioni delle pipeline basate su eventi.
Importante
Se nel payload dell'evento personalizzato manca una chiave a cui viene fatto riferimento nella parametrizzazione, trigger run
ha esito negativo. Viene visualizzato un messaggio in cui si specifica che l'espressione non può essere valutata perché la proprietà keyName
non esiste. In questo caso, dall'evento non viene attivata nessuna pipeline run
.
Configurare un argomento personalizzato in Griglia di eventi
Per usare il trigger di eventi personalizzati in Data Factory, è necessario prima configurare un argomento personalizzato in Griglia di eventi.
Passare a Griglia di eventi e creare l'argomento manualmente. Per altre informazioni su come creare l'argomento personalizzato, vedere le esercitazioni sul portale e le esercitazioni sull'interfaccia della riga di comando di Azure relative a Griglia di eventi.
Nota
Il flusso di lavoro è diverso da un trigger di eventi di archiviazione. In questo caso, Data Factory non configura l'argomento in modo automatico.
Data Factory presuppone che gli eventi seguano lo schema di eventi di Griglia di eventi. Assicurarsi che nei payload degli eventi siano disponibili 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 personalizzati
Passare a Data Factory e accedere.
Passare alla scheda Modifica. Cercare l'icona a forma di matita.
Scegliere Trigger dal menu e quindi selezionare Nuovo/Modifica.
Nella pagina Aggiungi trigger selezionare Scegli trigger e quindi Nuovo.
In Tipo: selezionare Eventi personalizzati.
Selezionare l'argomento personalizzato dall'elenco a discesa della sottoscrizione di Azure o immettere manualmente l'ambito relativo all'argomento dell'evento.
Nota
Per creare o modificare un trigger di eventi personalizzati in Data Factory, è necessario usare un account Azure con il controllo degli accessi in base al ruolo di Azure appropriato. Non sono necessarie altre autorizzazioni. L'entità servizio di Data Factory non richiedere autorizzazioni speciali per Griglia di eventi. Per altre informazioni sul controllo di accesso, vedere la sezione Controllo degli accessi in base al ruolo.
Le proprietà
Subject begins with
eSubject ends with
consentono di filtrare gli eventi di trigger. Entrambe le proprietà sono facoltative.Usare + Nuovo per aggiungere Tipi di eventi da filtrare. L'elenco di trigger di eventi personalizzati usa una relazione OR. Quando un evento personalizzato con una proprietà
eventType
corrisponde a un evento presente 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 gli eventicopycompleted
ocopysucceeded
il cui oggetto inizia con factory.Un trigger di evento personalizzato può analizzare e inviare alla pipeline un payload
data
personalizzato. Si creano i parametri della pipeline e 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 ulteriori informazioni, vedere:
- Riferimento ai metadati del trigger nella pipeline
- Variabili di sistema in un trigger di eventi personalizzati
Dopo aver immesso i parametri, selezionare OK.
Filtro avanzato
I trigger di eventi personalizzati supportano funzionalità di filtro avanzate, in modo analogo ai Filtri avanzati di Griglia di eventi. Questi filtri condizionali consentono l'attivazione delle pipeline in base ai valori del payload dell'evento. È possibile, ad esempio, che nel payload dell'evento sia presente un campo denominato Reparto e che la pipeline venga attivata solo se Reparto è uguale a Amministrazione. È possibile anche specificare logica complessa, come il campo data nell'elenco [1, 2, 3, 4, 5], il campo mese non nell'elenco [11, 12], e se il campo tag contiene [Anno fiscale 2021, AnnoFiscale2021 o AF2021].
A partire da oggi, i trigger di eventi personalizzati supportano un subset di operatori di filtro avanzati in Griglia di eventi. Sono supportate le seguenti condizioni di filtro:
NumberIn
NumberNotIn
NumberLessThan
NumberGreaterThan
NumberLessThanOrEquals
NumberGreaterThanOrEquals
BoolEquals
StringContains
StringBeginsWith
StringEndsWith
StringIn
StringNotIn
Selezionare + Nuovo per aggiungere nuove condizioni di filtro.
I trigger di eventi personalizzati sono inoltre vincolati alle stesse limitazioni di Griglia di eventi, ad esempio:
- 5 filtri avanzati e 25 valori di filtro in tutti i filtri per ogni trigger di eventi personalizzati.
- 512 caratteri per ogni valore stringa.
- 5 valori per gli operatori
in
enot in
. - Le chiavi non possono contenere il carattere
.
(punto), ad esempiojohn.doe@contoso.com
. Attualmente non è disponibile il supporto per i caratteri di escape nelle chiavi. - È possibile usare l'elemento key in più filtri.
Data Factory si basa sulla versione di disponibilità generale più recente dell'API Griglia di eventi. Man mano che le nuove versioni dell'API giungono alla fase di disponibilità generale, Data Factory ne espande 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. | String | 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 campo subject deve iniziare con il criterio fornito per poter attivare il trigger. Il criterio factories, ad esempio, attiva il trigger solo per gli oggetti evento che iniziano con factories. |
String | Nr. | |
subjectEndsWith |
Il campo subject deve terminare con il criterio specificato per attivare il trigger. |
String | Nr. | |
advancedFilters |
Elenco di file BLOB JSON, ognuno dei quali specifica una condizione di filtro. Ogni file BLOB specifica key , operatorType e values . |
Elenco di file BLOB JSON | No. |
Controllo degli accessi in base al ruolo
Data Factory usa il controllo degli accessi in base al ruolo di Azure per impedire accessi non autorizzati. Per un funzionamento corretto, Data Factory deve poter:
- Restare in ascolto di eventi.
- Sottoscrivere aggiornamenti dagli eventi.
- Attivare pipeline collegate a eventi personalizzati.
Per creare o aggiornare correttamente un trigger di eventi personalizzati, è necessario accedere a Data Factory con un account Azure con diritti di accesso appropriati. In caso contrario, l'operazione ha esito negativo con il messaggio "Accesso negato".
Data Factory non richiede autorizzazioni speciali per un'istanza di Griglia di eventi. Analogamente, non è 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 l'autorizzazione Microsoft.EventGrid/EventSubscriptions/Write
su /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.
- Quando si esegue la pubblicazione tramite integrazione continua e recapito continuo, l'account usato per pubblicare il modello Azure 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.