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.
S’APPLIQUE À :
Azure Data Factory
Azure Synapse Analytics
Conseil
Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, l’aide à la décision et la création de rapports. Découvrez comment démarrer un nouvel essai gratuitement !
L’activité Azure Function vous permet d’exécuter Azure Functions dans un pipeline Azure Data Factory ou Azure Synapse Analytics. Pour exécuter une fonction Azure, vous devez créer une connexion de service lié. Ensuite, vous pouvez utiliser le service lié avec une activité qui spécifie la fonction Azure que vous prévoyez d’exécuter.
Créer une activité de fonction Azure avec l’interface utilisateur
Pour utiliser une activité de fonction Azure dans un pipeline, effectuez les étapes suivantes :
Développez la section de fonction Azure du volet Activités de pipeline, puis faites glisser une activité de fonction Azure vers le canevas du pipeline.
Sélectionnez la nouvelle activité de fonction Azure sur le canevas si elle n’est pas déjà sélectionnée, et son onglet Paramètres , pour modifier ses détails.
Si vous n’avez pas encore défini de service lié Azure Function, sélectionnez Nouveau pour en créer un. Dans le volet du nouveau service lié Azure Function, choisissez votre URL d’application de fonction Azure existante et fournissez une clé de fonction.
Après avoir sélectionné le service lié Azure Function, indiquez le nom de la fonction et d’autres détails pour terminer la configuration.
Service lié de fonction Azure
Le type de retour de la fonction Azure doit être un JObject valide (N’oubliez pas que JArrayn’est pas un JObject.) Tout type de retour autre que JObject échoue et génère l'erreur utilisateur Response Content n'est pas un JObject valide.
La clé de fonction permet un accès sécurisé aux noms de fonctions, chacune d’entre elles disposant de clés uniques distinctes ou d’une clé principale au sein d’une application de fonction. L’identité managée fournit un accès sécurisé à l’ensemble de l’application de fonction. L’utilisateur doit fournir une clé pour accéder au nom de la fonction. Pour plus d’informations sur la clé d’accès aux fonctions, consultez la documentation sur les fonctions
| Property | Description | Obligatoire |
|---|---|---|
| Type | La propriété type doit être définie sur : AzureFunction | Oui |
| URL de l’application de fonction | URL de l’application de fonction Azure. Son format est https://<accountname>.azurewebsites.net. Cette URL correspond à la valeur indiquée dans la section URL quand vous affichez votre application de fonction dans le portail Azure. |
Oui |
| Clé de fonction | Clé d’accès de la fonction Azure. Sélectionnez la section Gérer pour la fonction respective, puis copiez la clé de fonction ou la clé hôte. En savoir plus ici : Utiliser des clés d’accès | Oui |
| Authentification | Méthode d’authentification utilisée pour appeler la fonction Azure. Les valeurs prises en charge sont l’identité managée affectée par le système ou « anonyme ». | Oui |
| ID de ressource | ID d’application (client) de la fonction Azure. Basculez vers la section Authentification pour la fonction respective et obtenez l’ID d’application (client) sous Fournisseur d’identité. Cette propriété s’affiche lorsque vous utilisez l’identité managée affectée par le système. Pour plus d’informations, consultez Configurer votre application App Service ou Azure Functions de façon à utiliser une connexion Microsoft Entra. | Non* |
/* La resourceId propriété est requise lorsque vous utilisez l’authentification d’identité managée affectée par le système.
Authentification via une identité managée affectée par le système
Vous pouvez utiliser l’authentification SAMI (Managed Identity) affectée par le système de deux manières :
Définissez l’ID de ressource sur
https://management.azure.com. Data Factory se connecte à l’application de fonction à l’aide de son identité managée affectée par le système et exécute l’application de fonction avec l’authentification anonyme.Pour les environnements sécurisés où vous ne souhaitez pas utiliser l’authentification anonyme, configurez un nom de principal de service (SPN) comme ID de ressource. Le SPN doit être configuré correctement sur l’application Azure Functions :
Créez une nouvelle inscription d'application en tant qu'identité principale de service.
Dans votre application de fonction, accédez à la section Authentification sous Paramètres et créez un fournisseur d’identité.
Ajoutez l’ID d’application du principal de service dans l’application cliente autorisée et l’ID d’objet du principal de service dans les applications objet autorisées. Si les demandes sont autorisées uniquement à partir de locataires spécifiques, ajoutez l’ID de locataire de l’identité managée dans la dernière zone.
Activité de fonction Azure
| Property | Description | Valeurs autorisées | Obligatoire |
|---|---|---|---|
| Nom | Nom de l’activité dans le pipeline | String | Oui |
| Type | Le type d’activité est « AzureFunctionActivity » | String | Oui |
| Service lié | Service lié de fonction Azure de l’application de fonction Azure correspondante | référence de service lié | Oui |
| Nom de la fonction | Nom de la fonction dans l’application de fonction Azure que cette activité appelle. | String | Oui |
| Méthode | Méthode API REST de l’appel de fonction. | Types de chaîne pris en charge : « GET », « POST », « PUT » | Oui |
| En-tête | En-têtes envoyés à la demande. Par exemple, pour définir la langue et le type sur une demande : "headers": { "Accept-Language": "en-us", "Content-Type": "application/json" } | Chaîne (ou expression avec resultType de chaîne) | Non |
| body | Corps envoyé avec la demande à la méthode d’API de la fonction | Chaîne (ou expression avec resultType de chaîne) ou objet. | Obligatoire pour les méthodes PUT/POST |
Voir le schéma de la charge utile de demande dans la section Schéma de la charge utile.
Routage et requêtes
L’activité de fonction Azure prend en charge le routage. Par exemple, si votre fonction Azure a un point de terminaison https://functionAPP.azurewebsites.net/api/<functionName>/<value>?code=<secret>, le functionName à utiliser dans l’activité de fonction Azure est <functionName>/<value>. Vous pouvez paramétrer cette fonction pour fournir le functionName souhaité lors de l’exécution.
Remarque
Le functionName pour Durable Functions doit être extrait de la propriété d’itinéraire de la liaison de fonction dans sa définition JSON, afin d’inclure ses informations d’itinéraire. En utilisant simplement le functionName sans inclure le détail de l'itinéraire, cela entraîne un échec car la Function App est introuvable.
L’activité de fonction Azure prend également en charge les requêtes. Une requête doit être incluse dans le cadre de functionName. Par exemple, lorsque le nom de la fonction est HttpTriggerCSharp et que la requête que vous souhaitez inclure est name=hello, vous pouvez construire la functionName dans l’activité de fonction Azure en tant que HttpTriggerCSharp?name=hello. Cette fonction peut être paramétrée afin que la valeur soit déterminée au moment de l’exécution.
Délai d’expiration et fonctions de longue durée
Azure Functions expire après 230 secondes, quel que soit le paramètre functionTimeout que vous ayez configuré dans les paramètres. Pour plus d’informations, consultez cet article. Pour contourner ce comportement, appliquez un modèle asynchrone ou utilisez Durable Functions. L’avantage de Durable Functions que cette option utilise son propre mécanisme de suivi de l’état, donc vous n’aurez pas à implémenter votre propre suivi de l’état.
Plus d’informations sur Durable Functions dans cet article. Vous pouvez configurer une activité de fonction Azure pour appeler la fonction Durable Functions, qui renvoie une réponse avec un autre URI, comme dans cet exemple. Étant donné que statusQueryGetUri retourne l’état HTTP 202 pendant que la fonction est en cours d’exécution, vous pouvez interroger l’état de la fonction avec une activité web. Définissez une activité web avec la valeur @activity('<AzureFunctionActivityName>').output.statusQueryGetUri dans le champ url. Une fois la fonction durable terminée, la sortie de la fonction est la sortie de l’activité web.
Exemple
Un exemple où Azure Function est utilisé pour extraire le contenu d’un fichier tar est disponible ici.
Contenu connexe
Pour en savoir plus sur les activités prises en charge, consultez la page Pipelines et activités.