Tous les produits
Search
Centre de documentation

DataWorks:Créer une fonction Aviator

Dernière mise à jour :Aug 09, 2026

Créez une fonction Aviator dans DataService Studio pour traiter les paramètres de requête d'une API ou les données de réponse en tant que filtre.

Prérequis

Contexte

Dans DataService Studio, vous pouvez créer, tester et déployer des fonctions. Une fois déployée, vous pouvez associer une fonction à une API en tant que filtre pour traiter les paramètres de requête ou les données de réponse, ce qui permet de mettre en œuvre une logique de requête complexe adaptée à divers scénarios métier. Pour des exemples de code, consultez la rubrique Bonnes pratiques : Utiliser une fonction Aviator comme filtre.

Limites

  • Les fonctions Aviator doivent s'exécuter sur un groupe de ressources exclusif pour DataService Studio.

  • Lorsque vous utilisez une fonction comme filtre d'API, le préfiltre et le postfiltre doivent être du même type. Sélectionnez soit Aviator, soit Python pour les deux.

Remarques sur l'utilisation

Pour des raisons de sécurité et de performances, les fonctions Aviator doivent s'exécuter sur un groupe de ressources exclusif pour DataService Studio. Par conséquent :

  • Lorsque vous modifiez ou testez une fonction, vous devez l'associer à un groupe de ressources exclusif pour DataService Studio. Pour plus d'informations, consultez la rubrique Gérer une fonction.

  • Lorsque vous activez un filtre et l'associez à la fonction cible lors du développement de l'API, vous devez associer l'API à un groupe de ressources exclusif pour DataService Studio. Pour plus d'informations, consultez la rubrique Générer une API à partir d'une source de données (API Gateway).

Structure de la fonction

Les fonctions Aviator utilisent le modèle intégré suivant. Pour plus de détails sur la syntaxe, consultez la page Syntaxe des fonctions Aviator.

## --- AviatorScript ---
## $0: the default name of the input param.
## Expressions must be separated by the semicolon ";".
## Example 1:
## $0.a: Get the attribute "a" from the input param "$0".
## $0.b[index]: Get the element at the specified index from the array "b" in the input param "$0". The index cannot be an expression or a variable.
## Example 2:
## Input: {"keyA":[1,2],"keyB":"value"}
## Function: $0.keyA[0]=3; $0.keyB="new_value"; return $0;
## Output: {"keyA":[3,2],"keyB":"new_value"}
return $0;

Modifiez la fonction en vous basant sur ce modèle.

  • Le nom par défaut du paramètre d'entrée d'une fonction Aviator est $0 et il ne peut pas être modifié. Vous pouvez utiliser $0 pour obtenir l'intégralité de l'entrée de la fonction.

  • Dans DataService Studio, les fonctions servent de filtres d'API pour traiter les paramètres de requête et les données de réponse. L'entrée de la fonction, représentée par $0, est donc un objet JSON. Les paramètres de requête sont transmis sous forme de structure JSON plate (profondeur 1) et les données de réponse sous forme de structure JSON imbriquée (profondeur N).

  • Lorsqu'une fonction est utilisée comme préfiltre d'API, le système convertit les paramètres de requête de l'API ou la sortie d'une fonction précédente d'une key-value map en un objet JSON et le transmet au paramètre $0. La valeur de chaque clé dans l'objet JSON doit être une chaîne.

  • Lorsque la fonction est utilisée comme préfiltre d'API, sa sortie doit être une key-value map. Cette sortie sert de paramètres d'entrée pour l'exécution de l'instruction SQL. Par conséquent, seule une key-value map plate avec une profondeur de un est prise en charge.

Accéder à DataService Studio

Connectez-vous à la console DataWorks. Dans la région cible, cliquez sur Data Analysis and Service > DataService Studio 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

  1. Sur la page Service Development, placez le curseur sur l'icône image.png et cliquez sur Create Function > Create Aviator Function.

    Vous pouvez également rechercher le workflow cible, cliquer avec le bouton droit sur Function et choisir Create Function > Create Aviator Function.

  2. Dans la boîte de dialogue Create Aviator Function, configurez les paramètres.

    Paramètre

    Description

    Function Name

    Un nom unique pour la fonction, d'une longueur maximale de 256 caractères.

    Function Template

    Seul AviatorScript Standard v1 est pris en charge.

    Function Description

    Une brève description de la fonction, d'une longueur maximale de 512 caractères.

    Location

    Le répertoire de destination de la fonction.

    Remarque

    Sélectionnez un workflow spécifique, un dossier ou une catégorie de fonction. Si aucun workflow n'existe, créez-en un d'abord.

  3. Cliquez sur Determine.

  4. Dans la zone Edit Code, saisissez le code de la fonction.

  5. Configurez le groupe de ressources.

    1. Dans le volet droit de la page d'édition de la fonction, cliquez sur Resource Group for DataService Studio. Dans la section Resource Group Type, configurez le type de groupe de ressources pour les appels d'API.

      Vous ne pouvez sélectionner qu'un groupe de ressources exclusif pour DataService Studio.

      Remarque

      Si vous ne pouvez pas sélectionner le nom du groupe de ressources cible dans la liste, accédez à la console DataWorks et liez le groupe de ressources à votre espace de travail en utilisant Modify Workspace Ownership. Vous pouvez également cliquer sur Purchase Exclusive Resource Group for DataService Studio pour en acheter un nouveau. Pour plus d'informations, consultez la rubrique Utiliser un groupe de ressources exclusif pour DataService Studio.

    2. Dans la section Environment Configuration, définissez les paramètres Memory et Timeout.

      Le délai d'expiration recommandé pour la fonction est de 100 ms ou moins pour un groupe de ressources exclusif pour DataService Studio.

  6. Cliquez sur l'icône 保存 dans la barre d'outils pour enregistrer la fonction.

Après avoir créé la fonction, testez-la et déployez-la pour l'utiliser comme préfiltre ou postfiltre d'API.

Étapes suivantes