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:
Vouw de sectie Azure Function van het deelvenster Pijplijnactiviteiten uit en sleep een Azure-functieactiviteit naar het pijplijncanvas.
Selecteer de nieuwe Azure-functieactiviteit op het canvas als deze nog niet is geselecteerd en het tabblad Instellingen om de details ervan te bewerken.
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.
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 JObject
waarde 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.
Gerelateerde inhoud
Meer informatie over ondersteunde activiteiten in Pijplijnen en activiteiten.