Kommentar
Å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.
Connector-tillägget låter en Azure Functions-app ta emot händelser från hanterade connectors i Azure Connector-namnrymden, vilket ger förbyggd åtkomst till tjänster som Office 365 Outlook, SharePoint Online, Microsoft Teams, Dataverse och många andra Microsoft- och tredjepartstjänster. För att utforska tillgängliga hanterade kontakter, se referensen för kontakter.
Important
Connector-tillägget är för närvarande i offentlig förhandsvisning. Funktioner, konfigurationsnamn och stödda kontakter kan ändras innan allmän tillgänglighet (GA). Användning av denna funktion omfattas av de tilläggsvillkoren för Microsoft Azure Previews.
Note
Connector-triggern stöds för närvarande inte för detta språk.
| Action | Type |
|---|---|
| Kör en funktion när en händelse inträffar i en ansluten tjänst | Trigger |
Connector-tillägget tillhandahåller den inkommande triggerbindningen som kör en funktion när en händelse inträffar i en tjänst som är ansluten via en hanterad koppling. För att anropa operationer och utföra åtgärder i dessa anslutna tjänster från din funktionskod, använd ett Azure Connectors SDK, som för närvarande finns tillgängligt för .NET, Node.jsoch Python. För mer information om triggers, SDK-åtgärder och när man ska använda managed connectors, se Use managed connectors in Azure Functions.
Hur förlängningen fungerar
En kontaktutlöst funktion använder dessa komponenter:
| Component | Ansvar |
|---|---|
| Namnområde för anslutningsapp | Värdar hanterar anslutningar och triggar konfigurationer. |
| Hanterad anslutning | Autentiserar mot den externa tjänsten och hanterar tjänstespecifik anslutning. |
| Utlösarkonfiguration | Väljer konnektorshändelsen och operationsparametrarna och mappar händelsen till en destinationsfunktion. |
| Anslutningsförlängning | Registrerar callback-endpointen, validerar HTTP-metoden, innehållstypen och JSON-kroppen, skickar förfrågan till den valda funktionen och binder händelsekroppen till funktionsparametern. |
| Azure Connectors SDK | Tillhandahåller valfria starkt typade nyttolastmodeller och klienter för att anropa hanterade anslutningsoperationer, såsom att skicka ett e-postmeddelande eller skapa en SharePoint-fil. |
När en konfigurerad händelse inträffar skickar Connector Namespace händelsen till tilläggets webhook-endpoint. Tillägget använder frågesträngsvärdet functionName för att välja funktionen och skickar JSON-händelsekroppen till triggerparametern. Funktionsvärden validerar systemnyckeln innan tillägget behandlar förfrågan, om du inte konfigurerar ett annat autentiseringslager som beskrivs i Authenticate callbacks.
I en .NET-isolerad arbetsfunktion, applicera [ConnectorTrigger] på parametern som tar emot händelsekroppen.
Installera tillägget
Connector-triggern stöder .NET-modellen för isolerad arbetare. För information om stödda .NET-versioner i Azure Functions-runtime-versioner, se Språk efter runtime-version.
Lägg till förhandsversionen av Connector-tilläggspaketet till ditt projekt:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Connector --prerelease
För att använda starkt typade payload-modeller eller anropshanterade connector-operationer, lägg även till förhandsversionen av Azure Connectors SDK:
dotnet add package Azure.Connectors.Sdk --prerelease
För aktuella paketversioner och kompletta projekt, se Azure Functions-anslutningsexemplen för .NET.
Installera tillägget
Installera paketen som används av Connector-triggern:
npm install @azure/functions @azure/functions-extensions-connectors @azure/connectors
Dessa paket tillhandahåller följande funktionalitet:
-
@azure/functions tillhandahåller basregistreringen
connectorTrigger, som tar emot triggerinmatningen som en generisk typ som standard ärunknown. - @azure/functions-extensions-connectors omsluter ingången i en normaliserad kontaktutlösarkontext och tillhandahåller typade kontexter för stödda kontaktoperationer.
- @azure/connectors, förhandsversionen Azure Connectors SDK för Node.js, tillhandahåller de nyttolastmodeller som används av dessa kontexter och klienter för anropande kopplingsoperationer.
Konfigurera din app att använda version 4.42.0 eller senare av förhandsvisningstilläggspaketet i host.json-filen :
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.42.*, 5.0.0)"
}
}
För aktuella paketversioner och kompletta projekt, se Azure Functions-connectorexemplen för TypeScript.
Installera tillägget
Använd Python v2-programmeringsmodellen och installera de paket som krävs av Connector-triggern:
azure-functions>=2.2.0
azurefunctions-extensions-connectors
Note
För Python-versioner tidigare än 3.13, använd azure-functions>=1.26.0b3.
Core azure-functions Python-biblioteket kan binda trigger-payloaden till str, dict, eller bytes.
Paketet azurefunctions-extensions-connectors integrerar Azure Connectors SDK för Python och registrerar ytterligare konverterare för de operationspecifika SDK-annotationer som det stödjer.
Konfigurera din app att använda version 4.42.0 eller senare av förhandsvisningstilläggspaketet i host.json-filen :
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.42.*, 5.0.0)"
}
}
För aktuella paketversioner och kompletta projekt, se Azure Functions-connectorexemplen för Python.
Bindningstyper
Connector-triggern stöder dessa parametertyper för .NET-isolerade arbetsfunktioner:
| Type | Description |
|---|---|
string |
Tar emot eventkroppen som rå JSON. Använd denna typ när en starkt typad SDK-modell inte finns tillgänglig eller när du vill deserialisera payloaden själv. |
| Connector SDK-modellen | Deserialiserar JSON-händelsekroppen till den operationspecifika modellen från Azure.Connectors.Sdk, såsom Office365OnNewEmailTriggerPayload eller SharePointOnlineOnNewFileItemsTriggerPayload. |
| JSON-deserialiserbar POCO | Deserialiserar JSON-händelsekroppen till en .NET-typ vars form matchar anslutningens nyttolast genom att använda System.Text.Json. |
För kodexempel och funktionsspecifikt nyttolastbeteende, se Connector-triggerreferensen.
För att avgöra vilka connector-operationer som har starkt typade .NET-payload-modeller, se Operations to Azure Functions signature mapping.
Bindningstyper
Basregistreringen connectorTrigger skickar triggerinmatningen till en generisk handlertyp som som standard är unknown. Paketet @azure/functions-extensions-connectors parsar råindatan till en ConnectorTriggerContext<T> med normaliserade payload och items egenskaper, den ursprungliga rawPayload, samt operationsspecifika typade kontexter när det är tillgängligt. För operationer utan typad registrering, använd den generiska kontexten och validera unknown nyttolasten innan du får tillgång till dess innehåll.
För att avgöra vilka kopplingsoperationer som har starkt typade TypeScript-payloadmodeller, se Operations to Azure Functions signature mapping.
Bindningstyper
Connector-triggern stöder dessa Python-parametertyper:
| Type | Description |
|---|---|
str |
Tar emot händelsekroppen som en JSON-sträng. |
dict |
Tar emot en händelsekropp som arbetaren har tolkat som JSON. |
bytes |
Tar emot händelsekroppen som råbyte. |
| Stödd Connector SDK-annotering | Använder en omvandlare registrerad av azurefunctions-extensions-connectors för att deserialisera händelsekroppen till en eller flera operationsspecifika SDK-modeller. |
För att avgöra vilka connector-operationer som har en registrerad typad Python-konverterare och om annotationen representerar ett objekt eller en samling, se Operations to Azure Functions signature mapping. Använd str, dict, eller bytes för operationer som inte har en stödd SDK-annotering.
Konfigurera anslutningsresurser
Innan tillägget kan ta emot en händelse, skapa dessa resurser och konfigurationer:
- Ett Connector-namnrymd.
- En hanterad anslutning som är auktoriserad för att få tillgång till den externa tjänsten.
- En triggerkonfiguration som väljer kontakthändelsen och identifierar destinationsfunktionen.
Triggerkonfigurationen inkluderar den hanterade anslutningen, operationsnamn, operationsparametrar, callback-URL och callback-autentisering. För konfigurationsvärden och instruktioner för att skapa en trigger med Azure CLI eller Connector Namespace-portalen, se Konfigurera triggern.
Autentisera återkopplingar
Som standard skapar Connector-tillägget en funktions-app-systemnyckel som heter connector_extension. Hämta nyckeln genom att köra:
az functionapp keys list \
--resource-group <RESOURCE_GROUP> \
--name <FUNCTION_APP_NAME> \
--query "systemKeys.connector_extension" \
--output tsv
Konfigurera callback-URL:en utan nyckeln:
https://<FUNCTION_APP_HOSTNAME>/runtime/webhooks/connector?functionName=<FUNCTION_NAME>
Spara nyckeln separat i notificationDetails.authentication:
{
"notificationDetails": {
"callbackUrl": "https://<FUNCTION_APP_HOSTNAME>/runtime/webhooks/connector?functionName=<FUNCTION_NAME>",
"authentication": {
"type": "QueryString",
"name": "code",
"value": "<CONNECTOR_EXTENSION_KEY>"
}
}
}
Vid återkallelse lägger Connector-namnrymden till nyckeln som code frågesträngsparameter. Att hålla nyckeln separat från den sparade callback-URL:en låter portalen maskera den som en hemlighet.
För implementationer som kräver identitetsbaserad återkallelseautentisering, använd App Service inbyggd autentisering med en hanterad identitet istället för en delad systemnyckel. För hela mönstret, se Autentisera dina funktioner till ett connector-namnrymd.
host.json inställningar
Standardautentiseringen av systemnyckeln kräver inte connector-specifika inställningar i host.json-filen .
När App Service-inbyggd autentisering validerar återanrop från connector-namnrymden kan du inaktivera den redundanta systemnyckelkontrollen:
{
"version": "2.0",
"extensions": {
"connector": {
"system": {
"webhookAuthorizationLevel": "Anonymous"
}
}
}
}
Använd endast Anonymous när ett annat autentiseringslager, såsom App Service inbyggd autentisering, validerar förfrågningar innan de når Functions-värden.
För en komplett implementation av denna språkoberoende appkonfiguration, se det inbyggda autentiseringsexemplet.