Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’extension Connector permet à une application Azure Functions recevoir des événements provenant de connecteurs gérés dans Azure espace de noms Connector, offrant un accès préconstruit à des services tels que Office 365 Outlook, SharePoint Online, Microsoft Teams, Dataverse et de nombreux autres services Microsoft et tiers. Pour explorer les connecteurs gérés disponibles, voir la référence des connecteurs.
Important
L’extension Connector est actuellement en prévisualisation publique. Les fonctionnalités, les noms de configuration et les connecteurs pris en charge peuvent changer avant la disponibilité générale (GA). L’utilisation de cette fonctionnalité est soumise aux Conditions d’utilisation supplémentaires pour les Aperçus Microsoft Azure.
Note
Le déclencheur Connector n’est pas actuellement pris en charge pour ce langage.
| Action | Type |
|---|---|
| Exécuter une fonction lorsqu’un événement se produit dans un service connecté | Trigger |
L’extension Connector fournit la liaison de déclenchement entrante qui exécute une fonction lorsqu’un événement se produit dans un service connecté via un connecteur géré. Pour appeler des opérations et effectuer des actions dans ces services connectés depuis votre code de fonction, utilisez un SDK Azure Connectors, actuellement disponible pour .NET, Node.jset Python. Pour plus d’informations sur les déclencheurs, les actions du SDK et le moment d’utiliser les connecteurs gérés, voir Utiliser les connecteurs gérés dans Azure Functions.
Fonctionnement de l’extension
Une fonction déclenchée par un connecteur utilise ces composantes :
| Component | Responsabilité |
|---|---|
| Espace de noms du connecteur | Les hôtes géraient les connexions des connecteurs et les configurations de déclenchement. |
| Connexion de connecteur gérée | Authentifie auprès du service externe et gère la connectivité spécifique au service. |
| Configuration de déclencheur | Sélectionne les paramètres d’événement et d’opération du connecteur, puis mappe l’événement à une fonction de destination. |
| Rallonge de connecteur | Enregistre le point de terminaison de rappel, valide la méthode HTTP, le type de contenu et le corps JSON, expédie la requête à la fonction sélectionnée et lie le corps de l’événement au paramètre de la fonction. |
| Azure Connectors SDK | Fournit des modèles et clients optionnels à charges utiles fortement saisies pour invoquer des opérations de connecteurs gérés, comme l’envoi d’un e-mail ou la création d’un fichier SharePoint. |
Lorsqu’un événement configuré se produit, l’espace de noms Connector envoie l’événement vers le point de terminaison webhook de l’extension. L’extension utilise la functionName valeur de la chaîne de requête pour sélectionner la fonction et transmet le corps de l’événement JSON au paramètre de déclenchement. L’hôte Fonctions valide la clé système avant que l’extension ne traite la requête, sauf si vous configurez une autre couche d’authentification comme décrit dans les rappels d’authentifique.
Dans une fonction worker isolée .NET, appliquez [ConnectorTrigger] au paramètre qui reçoit le corps de l’événement.
Installer l’extension
Le déclencheur Connector prend en charge le modèle de travailleur isolé .NET. Pour des informations sur les versions prises en charge de .NET dans les versions d’exécution d’Azure Functions, voir Langages par version d’exécution.
Ajoutez le package d’extension Preview Connector à votre projet :
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Connector --prerelease
Pour utiliser des modèles de charges utiles fortement typées ou appeler des opérations de connecteurs gérés, ajoutez également le SDK Azure Connectors preview :
dotnet add package Azure.Connectors.Sdk --prerelease
Pour les versions actuelles des paquets et les projets complets, voir les exemples de connecteurs Azure Functions pour .NET.
Installer l’extension
Installez les paquets utilisés par le déclencheur Connector :
npm install @azure/functions @azure/functions-extensions-connectors @azure/connectors
Ces packages offrent les fonctionnalités suivantes :
-
@azure/functions fournit l’enregistrement de base
connectorTrigger, qui reçoit l’entrée de déclenchement sous forme de type générique parunknowndéfaut . - @azure/functions-extensions-connectors enveloppe l’entrée dans un contexte de déclenchement de connecteur normalisé et fournit des contextes typés pour les opérations de connecteur prises en charge.
- @azure/connectors, le SDK preview Azure Connectors pour Node.js, fournit les modèles de charge utile utilisés par ces contextes et clients pour appeler les opérations de connecteur.
Configurez votre application pour utiliser la version 4.42.0 ou ultérieure du pack d’extension preview dans le fichierhost.json :
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.42.*, 5.0.0)"
}
}
Pour les versions actuelles des paquets et les projets complets, voir les exemples de connecteurs Azure Functions pour TypeScript.
Installer l’extension
Utilisez le modèle de programmation Python v2 et installez les paquets requis par le déclencheur Connector :
azure-functions>=2.2.0
azurefunctions-extensions-connectors
Note
Pour les versions Python antérieures à la 3.13, utilisez azure-functions>=1.26.0b3.
La bibliothèque Python de base Azure-functions peut lier la charge utile de déclenchement à str, dict, ou bytes. Le package azurefunctions-extensions-connectors intègre le SDK Azure Connectors pour Python et enregistre des convertisseurs supplémentaires pour les annotations SDK spécifiques à l’opération qu’il supporte.
Configurez votre application pour utiliser la version 4.42.0 ou ultérieure du pack d’extension preview dans le fichierhost.json :
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.42.*, 5.0.0)"
}
}
Pour les versions actuelles des paquets et les projets complets, voir les exemples de connecteurs Azure Functions pour Python.
Types de liaisons
Le déclencheur Connector prend en charge ces types de paramètres pour les fonctions de travail isolées .NET :
| Type | Description |
|---|---|
string |
Reçoit le corps de l’événement en tant que JSON brut. Utilisez ce type lorsqu’un modèle SDK fortement typé n’est pas disponible ou lorsque vous souhaitez désérialiser vous-même la charge utile. |
| Modèle SDK de connecteur | Désérialise le corps d’événement JSON dans le modèle spécifique à l’opération à partir de Azure.Connectors.Sdk, tel que Office365OnNewEmailTriggerPayload ou SharePointOnlineOnNewFileItemsTriggerPayload. |
| POCO JSON-désérialisable | Désérialise le corps d’événements JSON en un type .NET dont la forme correspond à la charge utile du connecteur en utilisant System.Text.Json. |
Pour des exemples de code et le comportement de la charge utile spécifique à l’opération, voir la référence de déclenchement Connector.
Pour déterminer quelles opérations de connecteur ont des modèles de payload .NET fortement typés, voir Operations to Azure Functions signature mapping.
Types de liaisons
L’enregistrement de base connectorTrigger transmet l’entrée déclencheuse à un type de gestionnaire générique qui est par défaut .unknown Le @azure/functions-extensions-connectors package analyse l’entrée brute en a ConnectorTriggerContext<T> avec les propriétés normalisées payload et items de , les contextes typés originaux rawPayloadet spécifiques à l’opération lorsque disponibles. Pour les opérations sans enregistrement typé, utilisez le contexte générique et validez la unknown charge utile avant d’accéder à son contenu.
Pour déterminer quelles opérations de connecteur ont fortement typé des modèles de charge utile TypeScript, voir Operations to Azure Functions signature mapping.
Types de liaisons
Le déclencheur Connector prend en charge ces types de paramètres Python :
| Type | Description |
|---|---|
str |
Reçoit le corps de l’événement sous forme de chaîne JSON. |
dict |
Reçoit un corps d’événement que le travailleur a analysé comme JSON. |
bytes |
Reçoit le corps de l’événement sous forme d’octets bruts. |
| Annotation SDK du connecteur prise en charge | Utilise un convertisseur enregistré par azurefunctions-extensions-connectors pour désérialiser le corps de l’événement en un ou plusieurs modèles SDK spécifiques à l’opération. |
Pour déterminer quelles opérations de connecteur possèdent un convertisseur Python typé enregistré et si l’annotation représente un élément ou une collection, voir Operations to Azure Functions signature mapping. Utilisez str, dict, ou bytes pour des opérations qui n’ont pas d’annotation SDK prise en charge.
Configurer les ressources du connecteur
Avant que l’extension ne puisse recevoir un événement, créez ces ressources et configurations :
- Un espace de noms de connecteurs.
- Une connexion de connecteur gérée autorisée à accéder au service externe.
- Une configuration de déclencheur qui sélectionne l’événement du connecteur et identifie la fonction de destination.
La configuration du déclencheur inclut la connexion du connecteur gérée, le nom de l’opération, les paramètres d’opération, l’URL de rappel et l’authentification du rappel. Pour les valeurs de configuration et les instructions de création d’un déclencheur en utilisant Azure CLI ou le portail Connector Namespace, voir Configurer le déclencheur.
Authentifier les rappels
Par défaut, l’extension Connector crée une clé système de fonction appli nommée connector_extension. Récupérez la clé en exécutant :
az functionapp keys list \
--resource-group <RESOURCE_GROUP> \
--name <FUNCTION_APP_NAME> \
--query "systemKeys.connector_extension" \
--output tsv
Configurez l’URL de rappel sans la clé :
https://<FUNCTION_APP_HOSTNAME>/runtime/webhooks/connector?functionName=<FUNCTION_NAME>
Stockez la clé séparément dans notificationDetails.authentication:
{
"notificationDetails": {
"callbackUrl": "https://<FUNCTION_APP_HOSTNAME>/runtime/webhooks/connector?functionName=<FUNCTION_NAME>",
"authentication": {
"type": "QueryString",
"name": "code",
"value": "<CONNECTOR_EXTENSION_KEY>"
}
}
}
Au moment du rappel, l’espace de noms Connector ajoute la clé comme code paramètre de la chaîne de requête. Garder la clé séparée de l’URL de rappel enregistrée permet au portail de la masquer comme un secret.
Pour les déploiements nécessitant une authentification en retour de rappel basée sur l’identité, utilisez l’authentification intégrée App Service avec une identité gérée au lieu d’une clé système partagée. Pour le schéma complet, voir Authentifier vos fonctions dans un espace de noms de connecteur.
Paramètres host.json
L’authentification par clé système par défaut ne nécessite pas de réglages spécifiques au connecteur dans le fichierhost.json .
Lorsque l’authentification intégrée App Service valide les rappels depuis l’espace de noms du connecteur, vous pouvez désactiver la vérification redondante de la clé système :
{
"version": "2.0",
"extensions": {
"connector": {
"system": {
"webhookAuthorizationLevel": "Anonymous"
}
}
}
}
À utiliser Anonymous uniquement lorsqu’une autre couche d’authentification, telle que l’authentification intégrée des services applicatifs, valide les requêtes avant qu’elles n’atteignent l’hôte des Fonctions.
Pour une implémentation complète de cette configuration d’application indépendante du langage, voir l’exemple d’authentification intégrée.