Cette rubrique explique comment créer une fonction Python.
Prérequis
Vous avez créé un processus métier. Pour plus de détails, consultez la rubrique Créer et gérer des processus métier.
Contexte
Dans DataService Studio, vous pouvez créer, tester et publier des fonctions. Vous pouvez ensuite associer une fonction publiée à une API en tant que filtre pour traiter les paramètres de requête ou les résultats de réponse de l'API. Cette fonctionnalité prend en charge des requêtes API complexes et vous permet de vous adapter à différents scénarios métier.
Limites
Pour utiliser les fonctions et filtres Python, vous devez souscrire à l'édition DataWorks Professional ou à une édition ultérieure.
Les fonctions Python doivent s'exécuter sur un groupe de ressources partagé pour DataService Studio.
Les fonctions Python sont en cours de refonte. Il n'est actuellement pas possible de créer, cloner ou publier de nouvelles fonctions Python. Si vous avez besoin de fonctionnalités de type fonction, nous vous recommandons d'utiliser les fonctions Aviator. Pour plus de détails, consultez la rubrique Créer une fonction Aviator.
Lorsque vous utilisez des fonctions comme filtres API, le pré-filtre et le post-filtre doivent être du même type de fonction. Sélectionnez des fonctions Python pour les deux. Il n'est actuellement pas possible d'utiliser différents types de fonctions pour le pré-filtre et le post-filtre d'une même API.
-
Les limites suivantes s'appliquent lorsqu'une fonction Python est utilisée comme filtre :
Le filtre prend uniquement en charge la syntaxe Python 3.0.
Le filtre prend uniquement en charge
import json,time,random,pickle,re,math.Le filtre nécessite le nom de la fonction et la signature
def handler(event,context):.
Structure de la fonction
# -*- coding: utf-8 -*-
# event (str) : in filter it is the API result, in other cases, it is your param
# context : some environment information, temporarily useless
# import module limit: json,time,random,pickle,re,math
# do not modify function name
import json
def handler(event,context):
# load str to json object
obj = json.loads(event)
# add your code here
# end add
return obj
Vous pouvez modifier cette fonction et renommer ses paramètres d'entrée selon vos besoins.
Parameter 1 [context]: A string that contains the API execution context. It is currently empty and not in use.
Parameter 2 [event]: A string that contains the API request parameters or the output of the previous filter.
Le système convertit les paramètres de requête API ou la sortie du filtre précédent d'une map clé-valeur vers JSON, puis transmet ce JSON au paramètre event. Les valeurs dans le champ value du JSON doivent être des chaînes de caractères.
Le pré-filtre génère une map clé-valeur. Étant donné que cette sortie est utilisée comme entrée pour l'instruction SQL, seules les maps clé-valeur d'une profondeur de 1 sont prises en charge.
Accéder à DataService Studio
Connectez-vous à la console DataWorks. Dans la région cible, cliquez sur dans le volet de navigation de gauche. Sélectionnez un espace de travail dans la liste déroulante et cliquez sur Go to DataService Studio.
Créer une fonction
-
Sur la page Service Development, placez le pointeur sur l'icône
et cliquez sur .Vous pouvez également rechercher le processus métier, cliquer avec le bouton droit sur Function et sélectionner .
-
Dans la boîte de dialogue Create Python Function, configurez les paramètres.
Paramètre
Description
Function Name
Le nom de la fonction personnalisée. Il peut contenir jusqu'à 256 caractères.
Function Template
Seul le modèle Python3 Standard v1 est pris en charge.
Runtime Environment
Seule la version Python 3.0 est prise en charge.
Function Description
Une brève description de la fonction. Elle peut contenir jusqu'à 512 caractères.
Location
Le répertoire où la fonction est stockée.
Cliquez sur Confirm.
-
Configurez la fonction sur la page d'édition de la fonction.
Saisissez le code de la fonction dans la zone Edit Code.
Dans la zone Environment Configuration, définissez les paramètres Memory et Timeout.
Cliquez sur l'icône
dans la barre d'outils.
Étapes suivantes
Après avoir créé la fonction, vous pouvez la tester et la déployer. Pour plus d'informations, consultez les rubriques Tester, déployer et utiliser une fonction et Déployer une fonction.
Après avoir déployé la fonction, vous pouvez l'associer à une API et l'utiliser comme pré-filtre ou post-filtre pour traiter les paramètres de requête et les données de réponse. Pour plus d'informations, consultez la rubrique Utiliser une fonction comme filtre API.