PythonCreator

Crée des entités avec un script Python fourni par l'utilisateur.

Aller à la configuration

Cas d'utilisation courants

  • Lectures de formats non-supportés
  • Prototypage de plugins format Python
  • Tâches ou un Transformer n'est pas disponible.

Comment fonctionne-t-il ?

PythonCreator crée des entités en utilisant le code Python fourni et les envoie dans l'espace de travail pour traitement.

Le script Python doit se présenter sous la forme d'une classe Python. Les entités peuvent être créées dans les méthodes input() ou close().

Les entités créées par la méthode input() sont créées avant le traitement du premier Reader. Les entités créées par la méthode close() sont créées après le traitement de toutes les entités du Reader.

Les entités sont créées via l'API Python FME Objects.

Python est un langage de programmation externe à FME. Pour obtenir de la documentation sur la création de scripts Python, visitez The Python Foundation.

L'utilisation de Python pour effectuer des opérations arbitraires sur des entités est un aspect puissant de FME Workbench. Cependant, la logique introduite dans un traitement est moins visible et peut donc être plus difficile à maintenir que la logique construite à l'aide des Transformers intégrés de FME Workbench. Il est recommandé d'utiliser d'autres Transformers lorsque cela est possible plutôt que des scripts Python.

Exemple de classe

L'exemple ci-dessous crée un nombre aléatoire d'entités entre 0 et 9.

Edition de Script

PythonCaller peut appeler tous les scripts stockés dans le Transformer lui-même ou les scripts stockés partout ailleurs dans l'ensemble du traitement :

  • Pour stocker un script Python avec un Transformer PythonCaller spécifique, utiliser le paramètre Script Python.
  • Pour stocker un script Python de manière globale, cliquez sur le paramètre Traitement dans le navigateur, puis double-cliquez sur Script Python de lancement. Le stockage global des scripts présente l'avantage de centraliser votre logique Python, ce qui facilite l'édition et la maintenance. C'est utile si vous voulez avoir plusieurs Transformers PythonCreator dans votre traitement qui utilisent le même script. Pour plus d'informations, voir Scripts Python de lancement et de fermeture dans l'aide de FME Workbench.

Si vous utilisez des bibliothèques Python étendues que vous ne souhaitez pas stocker dans un traitement : pour éviter la duplication, vous pouvez accéder aux fichiers .py du système de fichiers à l'aide de la commande d'importation de Python. En plus des emplacements standard des modules Python, FME recherchera également l'emplacement du traitement pour un module Python importé.

Configuration

Ports en entrée

None

Ports de sortie

Paramètres

Éditer les paramètres des Transformers

À l'aide d'un ensemble d'options de menu, les paramètres du Transformer peuvent être attribués en faisant référence à d'autres éléments de traitement. Des fonctions plus avancées, telles qu'un éditeur avancé et un éditeur arithmétique, sont également disponibles dans certains Transformers. Pour accéder à un menu de ces options, cliquez sur à côté du paramètre applicable. Pour plus d'informations, voir Options de menus et paramètres de Transformer.

Définir les valeurs

Il existe plusieurs façons de définir une valeur à utiliser dans un Transformer. La plus simple est de simplement taper une valeur ou une chaîne de caractères, qui peut inclure des fonctions de différents types comme des références d'attributs, des fonctions mathématiques et de chaînes de caractères, et des paramètres de traitement. Il existe un certain nombre d'outils et de raccourcis qui peuvent aider à construire des valeurs, généralement disponibles dans le menu contextuel déroulant adjacent au champ de valeur.

Options - Tables

Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.

Références

Comportement

Basé sur les entités ou Basé sur les groupes, conditionnel sur le script Python.

Stockage des entités

Conditionnel sur le script Python.

Dépendances
Alias  
Historique  

FME Community

FME Community est l'endroit où trouver des démos, des tutoriaux, des articles, des FAQ et bien plus encore. Obtenez des réponses à vos questions, apprenez des autres utilisateurs et suggérez, votez et commentez de nouvelles entités.

Voir tous les résultats à propos de ce Transformer sur FME Community.

 

Les exemples peuvent contenir des informations sous licence Open Government - Vancouver et/ou Open Government - Canada.