Définir le schéma de destination depuis le schéma d'entités

Vous pouvez utiliser un Writer dynamique pour définir votre schéma de destination. En mode dynamique, le Writer vérifie la présence, dans la première entité de chaque type d'entité entrant, d'un type spécifique d'attribut de liste qui fournit des informations sur le schéma. Si cette liste est trouvée sur la première entité, elle peut être utilisée pour générer le schéma de sortie du Writer .

Pour générer cette liste, utiliser, au choix :

  • Le port de sortie <Schema> des Transformers FeatureReader ou SchemaScanner.
  • le Transformer AttributePivoter
  • Les Reader Schema (n'importe quel format)

Vous pouvez également créer votre propre entité de schéma. Pour connaître les exigences, reportez-vous à la section Exigences relatives aux entités de schéma, ci-dessous.

Pour utiliser cette liste et définir le schéma de destination, configurer le paramètre 'schéma source' propriétés du type d'entités du writer dynamique à "Schéma depuis l'entité ".

Pour un exemple détaillé, y compris des exemples de traitements, voir Dynamic Workflows: Destination Schema is Derived from a Schema Feature dans FME Community.

Prérequis de schéma d'entités

Un schéma est compris dans une liste nommée attribute, avec les attributs suivants :

Nom d'attribut

Description

Exemples

Requis ?

Type Nom de l'attribut pour le type d'entités attribute{0}.name Oui
fme_data_type FME data type de l'attribut attribute{0}.fme_data_type Oui
native_data_type Type de données de l'attribut spécifique au format source. attribute{0}.native_data_type Inclus uniquement si vous souhaitez spécifier un type de données de format spécifique

Une deuxième liste, nommée fme_geometry , est requise pour les formats d'écriture qui exigent des types d'entités distincts pour chaque géométrie unique. La valeur de l'élément de liste est la valeur de l'attribut fme_type pour la géométrie. Par exemple, fme_geometry{0} peut avoir pour valeur "fme_point" et fme_geometry{1} peut avoir pour valeur "fme_line".

Pour demander au rédacteur dynamique d'appliquer le native_data_type à l'entité de schéma, au lieu du fme_data_type , spécifiez l'attribut fme_format_short_name et attribuez la valeur à l'identificateur de type de format ("nom court") du format. Par exemple, fme_format_short_name = "GEODATABASE_FILE" .

Un attribut et une valeur facultatifs, fme_schema_handling = 'schema_only' , peuvent être émis pour indiquer au Writer dynamique que l'entité de schéma ne contient pas de données, de sorte que le Writer ne l'insère pas en tant que nouvel enregistrement. S'il n'est pas défini ou s'il est absent, le Writer utilise l'entité pour créer la table et l'insère également en tant qu'enregistrement (c'est-à-dire qu'il suppose que l'entité contient à la fois un schéma et des données).