Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR:
Azure Data Factory
Azure Synapse Analytics
Tips
Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!
Med azure-funktionsaktiviteten kan du köra Azure Functions i en Azure Data Factory- eller Synapse-pipeline. Om du vill köra en Azure-funktion måste du skapa en länkad tjänstanslutning. Sedan kan du använda den länkade tjänsten med en aktivitet som anger den Azure-funktion som du planerar att köra.
Skapa en Azure-funktionsaktivitet med användargränssnittet
Utför följande steg för att använda en Azure-funktionsaktivitet i en pipeline:
Expandera Azure-funktionsavsnittet i fönstret Pipelineaktiviteter och dra en Azure-funktionsaktivitet till kanvasen för pipelinen.
Välj den nya Azure-funktionsaktiviteten på arbetsytan om den inte redan är markerad och fliken Inställningar för att redigera dess information.
Om du inte redan har definierat en länkad Azure-funktionstjänst väljer du Ny för att skapa en ny. I det nya fönstret för länkad Azure-funktionstjänst väljer du din befintliga Url för Azure-funktionsappen och anger en funktionsnyckel.
När du har valt den länkade Azure-funktionstjänsten anger du funktionsnamnet och annan information för att slutföra konfigurationen.
Länkad tjänst för Azure Function
Returtypen för Azure-funktionen måste vara giltig JObject. (Tänk på att JArray är inte en JObject.) Alla andra returtyper än JObject misslyckas och genererar användarfelet Svarsinnehåll är inte en giltig JObject.
Funktionsnyckel ger säker åtkomst till funktionsnamn där var och en har separata unika nycklar eller huvudnyckel i en funktionsapp. Hanterad identitet ger säker åtkomst till hela funktionsappen. Användaren måste ange nyckeln för att få åtkomst till funktionsnamnet. Mer information finns i funktionsdokumentationen för mer information om funktionsåtkomstnyckel
| Property | Beskrivning | Krävs |
|---|---|---|
| Typ | Typegenskapen måste anges till: AzureFunction | Ja |
| Url för funktionsapp | URL för Azure-funktionsappen. Formatet är https://<accountname>.azurewebsites.net. Den här URL:en är värdet under URL-avsnittet när du visar funktionsappen i Azure Portal |
Ja |
| Funktionsnyckel | Åtkomstnyckel för Azure-funktionen. Klicka på avsnittet Hantera för respektive funktion och kopiera antingen funktionsnyckeln eller värdnyckeln. Läs mer här: Arbeta med åtkomstnycklar | Ja |
| Autentisering | Den autentiseringsmetod som används för att anropa Azure-funktionen. De värden som stöds är "Systemtilldelad hanterad identitet" eller "anonym". | Ja |
| Resurs-ID | App-ID:t (klient) för Azure-funktionen. Växla till avsnittet Autentisering för respektive funktion och hämta app-ID :t (klient)under Identitetsprovider. Den här egenskapen visas när du använder systemtilldelad hanterad identitet. Mer information finns i Konfigurera din App Service- eller Azure Functions-app så att den använder Microsoft Entra-inloggning. | Nej |
Kommentar
När du använder anonym autentisering kontrollerar du att du har tagit ner din identitet på Azure-funktionssidan.
Azure-funktionsaktivitet
| Property | Beskrivning | Tillåtna värden | Krävs |
|---|---|---|---|
| Name | Namnet på aktiviteten i pipelinen | Sträng | Ja |
| Typ | Typen av aktivitet är "AzureFunctionActivity" | Sträng | Ja |
| Länkad tjänst | Den länkade Azure-funktionstjänsten för motsvarande Azure-funktionsapp | Referens för länkad tjänst | Ja |
| Funktionsnamn | Namnet på funktionen i Azure-funktionsappen som den här aktiviteten anropar | String | Ja |
| Metod | REST API-metod för funktionsanropet | Strängtyper som stöds: "GET", "POST", "PUT" | Ja |
| Header | Rubriker som skickas till begäran. Om du till exempel vill ange språket och skriva på en begäran: "headers": { "Accept-Language": "en-us", "Content-Type": "application/json" } | Sträng (eller uttryck vars resultatyp är sträng) | Nej |
| Kropp/Innehåll | Brödtext som skickas tillsammans med begäran till funktions-API-metoden | Sträng (eller ett uttryck med en `resultType` av sträng) eller objekt. | Krävs för PUT/POST-metoder |
Se schemat för begärans nyttolast i avsnittet Schema för nyttolast.
Routning och förfrågningar
Azure-funktionsaktiviteten stöder routning. Om din Azure-funktion till exempel har slutpunkten https://functionAPP.azurewebsites.net/api/<functionName>/<value>?code=<secret>, är <functionName>/<value> den som ska användas i Azure-funktionsaktiviteten. Du kan parametrisera den här funktionen för att ange önskad functionName vid körning.
Kommentar
functionName för Durable Functions ska hämtas från routegenskapen för funktionens bindning i dess JSON-definition, för att inkludera dess routningsinformation. Att bara använda functionName utan den väginformation som ingår resulterar i ett fel eftersom funktionsappen inte kan hittas.
Azure-funktionsaktiviteten stöder även frågor. En fråga måste ingå som en del av functionName. När funktionsnamnet till exempel är HttpTriggerCSharp och frågan som du vill inkludera är name=hellokan du konstruera functionName i Azure-funktionsaktiviteten som HttpTriggerCSharp?name=hello. Den här funktionen kan parametriseras så att värdet kan fastställas vid körning.
Timeout- och tidskrävande funktioner
Azure Functions överskrider tidsgränsen efter 230 sekunder oavsett vilken functionTimeout inställning du har konfigurerat i inställningarna. Mer information finns i denna artikel. Om du vill kringgå det här beteendet följer du ett asynkront mönster eller använder Durable Functions. Fördelen med Durable Functions är att de erbjuder en egen mekanism för tillståndsspårning, så du behöver inte implementera din egen tillståndsspårning.
Läs mer om Durable Functions i den här artikeln. Du kan konfigurera en Azure-funktionsaktivitet för att anropa Durable Function, som returnerar ett svar med en annan URI, till exempel det här exemplet. Eftersom statusQueryGetUri returnerar HTTP-status 202 medan funktionen körs kan du avsöka funktionens status med hjälp av en webbaktivitet. Konfigurera en webbaktivitet med fältet inställt på url@activity('<AzureFunctionActivityName>').output.statusQueryGetUri. När durable-funktionen har slutförts blir utdata från funktionen utdata från webbaktiviteten.
Exempel
Du hittar ett exempel som använder en Azure-funktion för att extrahera innehållet i en tar-fil här.
Relaterat innehåll
Läs mer om aktiviteter som stöds i Pipelines och aktiviteter.