Attività della funzione di Azure 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 .

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

Creare un'attività di Funzione di Azure con l'interfaccia utente

Per usare un'attività di Funzione di Azure in una pipeline, completare la procedura seguente:

  1. Espandere la sezione Funzione di Azure del riquadro Attività pipeline e trascinare un'attività di Funzione di Azure nell'area di disegno della pipeline.

  2. Selezionare la nuova attività funzione di Azure nell'area di disegno se non è già selezionata e la scheda Impostazioni per modificarne i dettagli.

    Shows the UI for an Azure Function activity.

  3. Se non è già stato definito un servizio collegato funzione di Azure, selezionare Nuovo per crearne uno nuovo. Nel nuovo riquadro del servizio collegato Funzioni di Azure scegliere l'URL dell'app per le funzioni di Azure esistente e specificare una chiave di funzione.

    Shows the new Azure Function linked service creation pane.

  4. Dopo aver selezionato il servizio collegato Funzione di Azure, specificare il nome della funzione e altri dettagli per completare la configurazione.

Servizio collegato della funzione di Azure

Il tipo restituito della funzione di Azure deve essere un JObject valido. (Tenere presente che JArray non è un .JObject) Qualsiasi tipo restituito diverso da JObject non riesce e genera il contenuto della risposta dell'errore utente non è un JObject valido.

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

Proprietà Descrizione Obbligatorio
Tipo La proprietà type deve essere impostata su: AzureFunction
URL dell'app per le funzioni 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
Tasto funzione 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. Altre informazioni sono disponibili qui: trigger e associazioni HTTP Funzioni di Azure
Authentication Metodo di autenticazione usato per chiamare la funzione di Azure. I valori supportati sono 'Identità gestita assegnata dal sistema' o 'anonymous'.
ID risorsa ID app (client) della funzione di Azure. Passare alla sezione Autenticazione per la rispettiva funzione e ottenere l'ID app (client) in Provider di identità. Questa proprietà verrà visualizzata quando si usa l'identità gestita assegnata dal sistema. Per altre informazioni, vedere Configurare l'app servizio app o Funzioni di Azure per l'uso dell'account di accesso di Microsoft Entra. No

Nota

Quando si usa l'autenticazione anonima, assicurarsi di aver disattivato l'identità sul lato Funzione di Azure.

Attività Funzioni di Azure

Proprietà Descrizione Valori consentiti Obbligatorio
Name Nome dell'attività nella pipeline Stringa
Tipo Il tipo di attività è 'AzureFunctionActivity' Stringa
Servizio collegato Servizio collegato della funzione di Azure collegata per l'app per le funzioni di Azure corrispondente Riferimento del servizio collegato
Nome della funzione Nome della funzione nell'app per le funzioni di Azure chiamata dall'attività Stringa
metodo Metodo dell'API REST per la chiamata di funzione Tipi supportati da stringhe: "GET", "POST", "PUT"
Intestazione 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
Testo 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 functionName da usare nell'attività della funzione di Azure è <functionName>/<value>. È possibile parametrizzare questa funzione per fornire l'oggetto desiderato functionName in fase di esecuzione.

Nota

L'oggetto functionName per Durable Functions deve essere tratto dalla proprietà di route dell'associazione della funzione nella relativa definizione JSON, per includere le informazioni di routing. Se si usa semplicemente functionName senza i dettagli della route inclusi, si verifica un errore perché non è possibile trovare l'app per le funzioni.

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 è HttpTriggerCSharp e la query che si vuole includere è name=hello, è possibile costruire functionName nell'attività della funzione di Azure come 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 prolungata

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

Altre informazioni su Durable Functions in questo articolo. È possibile configurare un'attività di funzione di Azure per chiamare la funzione durevole, che restituirà una risposta con un URI diverso, ad esempio questo esempio. Poiché statusQueryGetUri restituisce lo stato HTTP 202 mentre la funzione è in esecuzione, è possibile eseguire il polling dello stato della funzione usando un'attività Web. Configurare un'attività Web con il url campo impostato su @activity('<AzureFunctionActivityName>').output.statusQueryGetUri. Al termine della funzione durevole, 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.

Altre informazioni sulle attività supportate in Pipeline e attività.