Transformers FME: 2025.0

Categories
Exécution
Related Transformers
PythonCaller
RCaller

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().

Le script fourni contient une classe appelée FeatureCreator , qui hérite de fme.BaseTransformer . Il s'agit d'une classe de base qui représente l'interface attendue par l'infrastructure FME. Voir la documentation du module Python de FME pour plus d'informations.

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.

Note  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 FME Workbench est moins visible et peut donc être plus difficile à maintenir que la logique construite à l'aide des Transformers intégrés de traitement. 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

Les paramètres du Transformer peuvent être définis en saisissant directement des valeurs, en utilisant des expressions ou en faisant référence à d'autres éléments de l'espace de travail tels que des valeurs d'attributs ou des paramètres utilisateur. Divers éditeurs et menus contextuels sont disponibles pour vous aider. Pour voir ce qui est disponible, cliquez sur à côté du paramètre concerné.

Pour plus d'information, consulter la section Options des Transformers.

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 dispose d'une mine de connaissances sur FME, avec plus de 20 000 membres actifs dans le monde entier. Obtenez de l'aide sur FME, partagez vos connaissances et entrez en contact avec des utilisateurs du monde entier.

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

 

Examples may contain information licensed under the Open Government Licence – Vancouver, Open Government Licence - British Columbia, and/or Open Government Licence – Canada.