Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation du format XML dans AWS Glue
AWS Glue récupère les données des sources et écrit les données sur des cibles stockées et transportées dans différents formats de données. Si vos données sont stockées ou transportées au format de données XML, ce document vous présente les fonctionnalités disponibles pour utiliser vos données dans AWS Glue.
AWS Glue prend en charge l'utilisation du format XML. Ce format représente des structures de données hautement configurables et définies de manière rigide qui ne sont pas basées sur des lignes ou des colonnes. Le XML est hautement standardisé. Pour accéder à une présentation du format par l'autorité standard, consultez XML Essentials
Vous pouvez utiliser AWS Glue pour lire des fichiers XML depuis Amazon S3, ainsi que des archives bzip
et gzip
contenant des fichiers XML. Vous configurez le comportement de compression sur Paramètres de connexion S3 plutôt que dans la configuration décrite sur cette page.
La table suivante indique les fonctions courantes de AWS Glue qui prennent en charge l'option de format XML.
Lire | Écrire | Lecture en streaming | Groupement des petits fichiers | Signets de tâche |
---|---|---|---|---|
Pris en charge | Non pris en charge | Non pris en charge | Pris en charge | Pris en charge |
Exemple : lecture de XML depuis S3
Le lecteur XML prend un nom de balise XML. Il examine les éléments contenant cette balise dans son entrée pour déduire un schéma et renseigne un DynamicFrame avec les valeurs correspondantes. La fonctionnalité AWS Glue XML se comporte de la même manière que laSource de données XML for Apache Spark
Prérequis :Vous aurez besoin des chemins S3 (s3path
) vers les fichiers ou dossiers XML que vous souhaitez lire, ainsi qu'à certaines informations concernant votre fichier XML. Vous aurez également besoin de la balise pour l'élément XML que vous souhaitez lire, xmlTag
.
Configuration : dans vos options de fonction, spécifiez format="xml"
. Dans vos connection_options
, utilisez la clé paths
pour spécifier s3path
. Vous pouvez configurer plus en détail la manière dont le lecteur interagit avec S3 dans le connection_options
. Pour plus d'informations, consultez les Types et options de connexion pour ETL dans AWS Glue : Paramètres de connexion S3. Dans vos format_options
, utilisez la clé rowTag
pour spécifier xmlTag
. Vous pouvez configurer plus en détail la façon dont le lecteur interprète les fichiers XML dans votre format_options
. Pour plus d'informations, consultez .XML Configuration Reference (Référence de configuration XML).
Le script AWS Glue ETL suvant montre le processus de lecture de fichiers ou dossiers XML à partir de S3.
Référence de configurations XML
Vous pouvez utiliser les format_options
suivantes partout où les bibliothèques AWS Glue spécifient format="xml"
:
-
rowTag
– spécifie la balise XML du fichier à traiter comme ligne. Les balises de ligne ne se ferment pas automatiquement.-
Type : Texte, Obligatoire
-
-
encoding
– spécifie le codage de caractère. Il peut s'agir du nom ou de l'alias d'unCharsetpris en charge par notre environnement d'exécution. Nous ne donnons pas de garanties spécifiques concernant la prise en charge de l'encodage, mais les principaux codages devraient fonctionner. -
Type : texte, Valeur par défaut :
"UTF-8"
-
-
excludeAttribute
– spécifie si vous souhaitez ou pas exclure les attributs dans les éléments.-
Type : Booléen, Valeur par défaut :
false
-
-
treatEmptyValuesAsNulls
– pécifie s'il convient de traiter un espace blanc comme valeur nulle.-
Type : Booléen, Valeur par défaut :
false
-
-
attributePrefix
– Un préfixe des attributs pour les différencier des éléments. Ce préfixe est utilisé pour les noms de champs.-
Type : texte, Valeur par défaut :
"_"
-
-
valueTag
– La balise utilisée pour une valeur lorsqu'il y a des attributs de l'élément qui n'ont pas d'enfant.-
Type : texte, Valeur par défaut :
"_VALUE"
-
-
ignoreSurroundingSpaces
– spécifie si les espaces blancs qui entourent les valeurs doivent être ignorés.-
Type : Booléen, Valeur par défaut :
false
-
-
withSchema
– Contient le schéma attendu, dans les cas où vous souhaitez remplacer le schéma déduit. Si vous n'utilisez pas cette option, AWS Glue déduit le schéma des données XML.-
Type :Texte, Par défaut: Non applicable
-
La valeur doit être un objet JSON qui représente un
StructType
.
-
Spécifier manuellement le schéma XML
Exemple de schéma XML manuel
Il s'agit d'un exemple d'utilisation de l'option format withSchema
pour spécifier le schéma des données XML.
from awsglue.gluetypes import * schema = StructType([ Field("id", IntegerType()), Field("name", StringType()), Field("nested", StructType([ Field("x", IntegerType()), Field("y", StringType()), Field("z", ChoiceType([IntegerType(), StringType()])) ])) ]) datasource0 = create_dynamic_frame_from_options( connection_type, connection_options={"paths": ["s3://xml_bucket/someprefix"]}, format="xml", format_options={"withSchema": json.dumps(schema.jsonValue())}, transformation_ctx = "" )