Delen via


Azure Function-activiteit in Azure Data Factory

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

Met de Azure Function-activiteit kunt u Azure Functions uitvoeren in een Azure Data Factory- of Synapse-pijplijn. Als u een Azure-functie wilt uitvoeren, moet u een gekoppelde serviceverbinding maken. Vervolgens kunt u de gekoppelde service gebruiken met een activiteit die de Azure-functie aangeeft die u wilt uitvoeren.

Een Azure Function-activiteit maken met de gebruikersinterface

Voer de volgende stappen uit om een Azure Function-activiteit in een pijplijn te gebruiken:

  1. Vouw de sectie Azure Function van het deelvenster Pijplijnactiviteiten uit en sleep een Azure-functieactiviteit naar het pijplijncanvas.

  2. Selecteer de nieuwe Azure-functieactiviteit op het canvas als deze nog niet is geselecteerd en het tabblad Instellingen om de details ervan te bewerken.

    Toont de gebruikersinterface voor een Azure-functieactiviteit.

  3. Als u nog geen gekoppelde Azure-functieservice hebt gedefinieerd, selecteert u Nieuw om een nieuwe te maken. Kies in het nieuwe gekoppelde Servicedeelvenster van Azure Function de url van uw bestaande Azure-functie-app en geef een functiesleutel op.

    Toont het deelvenster voor het maken van een gekoppelde Azure-functieservice.

  4. Nadat u de gekoppelde Azure-functieservice hebt geselecteerd, geeft u de naam van de functie en andere details op om de configuratie te voltooien.

Gekoppelde Azure Function-service

Het retourtype van de Azure-functie moet een geldige JObjectwaarde zijn. (Houd er rekening mee dat JArray is geen JObject.) Een ander retourtype dan JObject mislukt en genereert de inhoud van het antwoord van de gebruiker een ongeldig JObject.

Functiesleutel biedt veilige toegang tot functienaam met elke functie met afzonderlijke unieke sleutels of hoofdsleutel in een functie-app. Beheerde identiteit biedt beveiligde toegang tot de hele functie-app. De gebruiker moet een sleutel opgeven voor toegang tot de functienaam. Zie de functiedocumentatie voor meer informatie over functietoegangssleutel

Eigenschappen Beschrijving Vereist
Type De eigenschap Type moet worden ingesteld op: AzureFunction Ja
URL van functie-app URL voor de Azure Function-app. Indeling is https://<accountname>.azurewebsites.net. Deze URL is de waarde onder de URL-sectie bij het weergeven van uw functie-app in Azure Portal Ja
Functietoets Toegangssleutel voor de Azure-functie. Klik op de sectie Beheren voor de respectieve functie en kopieer de functiesleutel of de hostsleutel. Meer informatie hier: Werken met toegangssleutels Ja
Verificatie De verificatiemethode die wordt gebruikt voor het aanroepen van de Azure-functie. De ondersteunde waarden zijn 'Door het systeem toegewezen beheerde identiteit' of 'anoniem'. Ja
Resource-id De app-id (client) van de Azure-functie. Schakel over naar de sectie Verificatie voor de betreffende functie en haal de app-id (client) op onder Id-provider. Deze eigenschap wordt weergegeven wanneer u door het systeem toegewezen beheerde identiteit gebruikt. Zie Uw App Service- of Azure Functions-app configureren voor het gebruik van Microsoft Entra-aanmelding voor meer informatie. Nr.

Notitie

Wanneer u anonieme verificatie gebruikt, moet u ervoor zorgen dat u uw identiteit aan de zijde van de Azure-functie hebt uitgeschakeld.

Azure Function-activiteit

Eigenschappen Beschrijving Toegestane waarden Vereist
Naam Naam van de activiteit in de pijplijn String Ja
Type Het type activiteit is 'AzureFunctionActivity' String Ja
Gekoppelde service De gekoppelde Azure-functieservice voor de bijbehorende Azure Function-app Naslaginformatie over gekoppelde services Ja
Functienaam Naam van de functie in de Azure-functie-app die door deze activiteit wordt aangeroepen String Ja
Wijze REST API-methode voor de functie-aanroep Ondersteunde typen tekenreeksen: 'GET', 'POST', 'PUT' Ja
Koptekst Headers die naar de aanvraag worden verzonden. Als u bijvoorbeeld de taal en het type wilt instellen voor een aanvraag: "headers": { "Accept-Language": "en-us", "Content-Type": "application/json" } Tekenreeks (of expressie met resultType van tekenreeks) Nee
Tekst Hoofdtekst die samen met de aanvraag naar de functie-API-methode wordt verzonden Tekenreeks (of expressie met resultType van tekenreeks) of object. Vereist voor PUT-/POST-methoden

Zie het schema van de nettolading van de aanvraag in de sectie Nettolading aanvragen.

Routering en query's

De Azure-functieactiviteit ondersteunt routering. Als uw Azure-functie bijvoorbeeld het eindpunt https://functionAPP.azurewebsites.net/api/<functionName>/<value>?code=<secret>heeft, is <functionName>/<value>het functionName te gebruiken in de Azure-functieactiviteit. U kunt deze functie parameteriseren om tijdens runtime de gewenste functionName functie op te geven.

Notitie

De functionName for Durable Functions moet worden opgehaald uit de route-eigenschap van de binding van de functie in de JSON-definitie om de routeringsgegevens op te nemen. Als u de functionName opgenomen routedetails gewoon gebruikt, treedt er een fout op omdat de functie-app niet kan worden gevonden.

De Azure-functieactiviteit ondersteunt ook query's. Een query moet worden opgenomen als onderdeel van de functionName. Als de naam van de functie bijvoorbeeld is HttpTriggerCSharp en de query die u wilt opnemen, is name=hello, kunt u de functionName query in de Azure-functieactiviteit maken als HttpTriggerCSharp?name=hello. Deze functie kan worden geparameteriseerd, zodat de waarde tijdens runtime kan worden bepaald.

Time-out en langlopende functies

Er treedt een time-out op in Azure Functions na 230 seconden, ongeacht de functionTimeout instelling die u hebt geconfigureerd in de instellingen. Zie dit artikel voor meer informatie. Als u dit gedrag wilt omzeilen, volgt u een asynchroon patroon of gebruikt u Durable Functions. Het voordeel van Durable Functions is dat ze hun eigen mechanisme voor statustracering bieden, zodat u uw eigen statustracering niet hoeft te implementeren.

Meer informatie over Durable Functions vindt u in dit artikel. U kunt een Azure-functieactiviteit instellen om de Durable Function aan te roepen. Hiermee wordt een antwoord met een andere URI geretourneerd, zoals in dit voorbeeld. Omdat statusQueryGetUri http-status 202 wordt geretourneerd terwijl de functie wordt uitgevoerd, kunt u de status van de functie peilen met behulp van een webactiviteit. Stel een webactiviteit in met het url veld ingesteld op @activity('<AzureFunctionActivityName>').output.statusQueryGetUri. Wanneer de Durable Function is voltooid, is de uitvoer van de functie de uitvoer van de webactiviteit.

Voorbeeld

U vindt hier een voorbeeld waarin een Azure-functie wordt gebruikt om de inhoud van een tar-bestand te extraheren.

Meer informatie over ondersteunde activiteiten in Pijplijnen en activiteiten.