Attività della funzione di Azure in Azure Data Factory

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

L'attività Funzione di Azure consente di eseguire Funzioni di Azure in una pipeline Azure Data Factory o Synapse. Per eseguire una funzione di Azure, è necessario creare una connessione al servizio collegato e un'attività che specifica la funzione di Azure che si intende eseguire.

Per un'introduzione di otto minuti e una dimostrazione di questa funzionalità, guardare il video seguente:

Servizio collegato della funzione di Azure

Il tipo restituito della funzione di Azure deve essere un JObject valido. (Tenere presente che JArraynon è un JObject.) Qualsiasi tipo restituito diverso da JObject ha esito negativo e genera l'errore utente il contenuto della risposta non è un JObject valido.

La chiave della funzione fornisce l'accesso sicuro al nome della funzione, ognuna con chiavi univoche o chiavi master separate all'interno di un'app per le funzioni. L'identità gestita fornisce l'accesso sicuro all'intera app per le funzioni. L'utente deve fornire la chiave per accedere al nome della funzione. Per altri dettagli sulla chiave di accesso alla funzione, vedere la documentazione della funzione

Proprietà Descrizione Obbligatorio
type La proprietà type deve essere impostata su: AzureFunction
function app url URL dell'app per le funzioni di Azure. Il formato è https://<accountname>.azurewebsites.net. Questo URL è il valore presente nella sezione URL quando si visualizza l'app per le funzioni nel portale di Azure
function key Chiave di accesso per la funzione di Azure. Fare clic sulla sezione Gestisci per la funzione corrispondente e copiare il tasto funzione o la chiave host. Per altre informazioni, vedere: Trigger e associazioni HTTP di Funzioni di Azure

Attività della funzione di Azure

Proprietà Descrizione Valori consentiti Obbligatorio
name Nome dell'attività nella pipeline string yes
tipo Il tipo di attività è 'AzureFunctionActivity' string yes
linked service Servizio collegato della funzione di Azure collegata per l'app per le funzioni di Azure corrispondente Riferimento del servizio collegato yes
nome di funzione Nome della funzione nell'app per le funzioni di Azure chiamata dall'attività string yes
method Metodo dell'API REST per la chiamata di funzione Tipi supportati da stringhe: "GET", "POST", "PUT" yes
header Intestazioni che vengono inviate alla richiesta. Ad esempio, per impostare la lingua e il tipo in una richiesta: "headers": { "Accept-Language": "en-us", "Content-Type": "application/json" } Stringa (o un'espressione con l'elemento resultType della stringa) No
Corpo Corpo inviato insieme alla richiesta al metodo API della funzione Stringa (o espressione con l'elemento resultType della stringa) o oggetto. Obbligatorio per i metodi POST e PUT

Vedere lo schema del payload della richiesta nella sezione Schema del payload della richiesta.

Routing e query

L'attività di Funzione di Azure supporta il routing. Ad esempio, se la funzione di Azure ha l'endpoint https://functionAPP.azurewebsites.net/api/<functionName>/<value>?code=<secret> , l'oggetto da usare functionName nell'attività della funzione di Azure è <functionName>/<value> . È possibile parametrizzare questa funzione per fornire l'oggetto desiderato in functionName fase di esecuzione.

L'attività di Funzione di Azure supporta anche le query. Una query deve essere inclusa come parte di functionName . Ad esempio, quando il nome della funzione è e la query che si vuole includere è , è possibile costruire nell'attività della funzione HttpTriggerCSharp name=hello di Azure come functionName HttpTriggerCSharp?name=hello . Questa funzione può essere parametrizzata in modo che il valore possa essere determinato in fase di esecuzione.

Timeout e funzioni a esecuzione lunga

Funzioni di Azure timeout dopo 230 secondi indipendentemente functionTimeout dall'impostazione configurata nelle impostazioni. Per altre informazioni, vedi questo articolo. Per risolvere questo problema, seguire un modello asincrono o usare Durable Functions. Il vantaggio di Durable Functions è che offrono il proprio meccanismo di rilevamento dello stato, quindi non sarà necessario implementarne uno personalizzato.

Altre informazioni sulle Durable Functions in questo articolo. È possibile configurare un'attività di funzione di Azure per chiamare Durable Function, che restituirà una risposta con un URI diverso, come in questo esempio. Poiché restituisce lo stato HTTP 202 mentre la funzione è in esecuzione, è possibile eseguire il polling dello stato della funzione statusQueryGetUri usando un'attività Web. È sufficiente configurare un'attività Web con url il campo impostato su @activity('<AzureFunctionActivityName>').output.statusQueryGetUri . Al termine di Durable Function, l'output della funzione sarà l'output dell'attività Web.

Esempio

È possibile trovare un esempio che usa una funzione di Azure per estrarre il contenuto di un file tar qui.

Passaggi successivi

Per altre informazioni sulle attività supportate, Pipelines e .