XML-formátum az Azure Data Factoryben és a Synapse Analytics-folyamatokban

A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics

Tipp.

Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!

Kövesse ezt a cikket, amikor elemezni szeretné az XML-fájlokat.

Az XML-formátum a következő összekötők esetében támogatott: Amazon S3, Amazon S3 Kompatibilis tároló, Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure Files, Fájlrendszer, FTP, Google Cloud Storage, HDFS, HTTP, Oracle Cloud Storage és SFTP. Forrásként támogatott, de nem fogadóként.

Adathalmaz tulajdonságai

Az adathalmazok meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az Adathalmazok című cikkben találja. Ez a szakasz az XML-adatkészlet által támogatott tulajdonságok listáját tartalmazza.

Property Leírás Required
típus Az adathalmaz típustulajdonságának Xml értékre kell állítania. Igen
hely A fájl(ok) helybeállításai. Minden fájlalapú összekötő saját helytípussal és támogatott tulajdonságokkal rendelkezik a(z) < a0/> alatt location. Lásd az összekötőkről szóló cikk –> Adathalmaz tulajdonságai szakasz részleteit. Igen
encodingName A tesztfájlok olvasásához/írásához használt kódolási típus.
Az engedélyezett értékek a következők: "UTF-8", "UTF-16", "UTF-16BE", "UTF-32", "UTF-32BE", "US-ASCII", "UTF-7", "BIG5", "EUC-JP", "EUC-KR", "GB2312", "GB18030", "JOHAB", "SHIFT-JIS", "CP875", "CP866", "IBM00858", "IBM037", "IBM273", "IBM437", "IBM500", "IBM737", "IBM775", "IBM850", "IBM852", "IBM855", "IBM857", "IBM860", "IBM861", "IBM863", "IBM864", "IBM865", "IBM869", "IBM8870", "IBM01140", "IBM01141", "IBM01142", "IBM01143", "IBM01144", "IBM01145", "IBM01146", "IBM01147", "IBM01148", "IBM01149", "ISO-2022-JP", "ISO-2022-KR", "ISO-8859-1", "ISO-8859-2", "ISO-8859-3", "ISO-8859-4", "ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ISO-8859-8", "ISO-8859-9", "ISO-8859-13", "ISO-8859-15", "WINDOWS-874", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-1252", "WINDOWS-1252" 1253", "WINDOWS-1254", "WINDOWS-1255", "WINDOWS-1256", "WINDOWS-1257", "WINDOWS-1258".
Nem
nullValue A null érték sztring-ábrázolását adja meg.
Az alapértelmezett érték üres sztring.
Nem
tömörítés A fájltömörítés konfigurálásához használt tulajdonságok csoportja. Konfigurálja ezt a szakaszt, ha a tevékenység végrehajtása során tömörítést/tömörítést szeretne végezni. Nem
típus
(alatt compression)
Az XML-fájlok olvasásához/írásához használt tömörítési kodek.
Az engedélyezett értékek a következők: bzip2, gzip, deflate, ZipDeflate, TarGzip, Tar, snappy vagy lz4. Az alapértelmezett beállítás nincs tömörítve.
Vegye figyelembe, hogy Copy tevékenység jelenleg nem támogatja a "snappy" & "lz4" elemet, és a leképezési adatfolyam nem támogatja a "ZipDeflate", a "TarGzip" és a "Tar" elemet.
Figyelje meg, hogy a ZipDeflate/TarGzip/Tar fájl(ok) kibontásához és a fájlalapú fogadóadattárba való íráshoz a másolási tevékenység során alapértelmezés szerint a fájlok a mappába lesznek kinyerve:<path specified in dataset>/<folder named as source compressed file>/ a másolási tevékenység forrásánakhasználatával preserveZipFileNameAsFolder/preserveCompressionFileNameAsFolder szabályozhatja, hogy a tömörített fájl(ok) neve megmarad-e mappastruktúraként.
Nem.
szint
(alatt compression)
A tömörítési arány.
Az engedélyezett értékek optimálisak vagy leggyorsabbak.
- Leggyorsabb: A tömörítési műveletnek a lehető leggyorsabban végre kell hajtania, még akkor is, ha az eredményül kapott fájl nincs optimálisan tömörítve.
- Optimális: A tömörítési műveletet optimálisan kell tömöríteni, még akkor is, ha a művelet végrehajtása hosszabb időt vesz igénybe. További információ: Tömörítési szint témakör.
Nem

Az alábbiakban egy példa látható az Azure Blob Storage XML-adatkészletére:

{
    "name": "XMLDataset",
    "properties": {
        "type": "Xml",
        "linkedServiceName": {
            "referenceName": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "container": "containername",
                "folderPath": "folder/subfolder",
            },
            "compression": {
                "type": "ZipDeflate"
            }
        }
    }
}

Másolási tevékenység tulajdonságai

A tevékenységek meghatározásához elérhető szakaszok és tulajdonságok teljes listáját a Folyamatok című cikkben találja. Ez a szakasz az XML-forrás által támogatott tulajdonságok listáját tartalmazza.

Ismerje meg, hogyan képezheti le az XML-adatokat és a fogadóadattárat/formátumot a sémaleképezésből. Az XML-fájlok előnézetének megtekintésekor az adatok JSON-hierarchiával jelennek meg, és A JSON elérési útján a mezőkre mutathat.

XML mint forrás

A másolási tevékenység *forrás* szakasza az alábbi tulajdonságokat támogatja. További információ az XML-összekötő viselkedéséről.

Property Leírás Required
típus A másolási tevékenység forrásának típustulajdonságát XmlSource-ra kell állítani. Igen
formátum Gépház Egy tulajdonságcsoport. Tekintse meg az ALÁBBI XML-olvasási beállítások táblázatát. Nem
áruház Gépház Az adatok adattárból való olvasására vonatkozó tulajdonságok csoportja. Minden fájlalapú összekötő saját támogatott olvasási beállításokkal rendelkezik a következő alatt storeSettings: . Az összekötőkről szóló cikk részleteinek megtekintése –> Copy tevékenység tulajdonságok szakasz. Nem

Támogatott XML-olvasási beállítások a következő területen formatSettings:

Property Leírás Required
típus A formátum típusát Gépház XmlRead Gépház értékre kell állítani. Igen
validationMode Megadja, hogy érvényesítse-e az XML-sémát.
Az engedélyezett értékek nem (alapértelmezett, nincs ellenőrzés), xsd (ellenőrzés XSD használatával), dtd (DTD használatával történő ellenőrzés).
Nem
Névterek A névtér engedélyezése az XML-fájlok elemzésekor. Az engedélyezett értékek a következők: igaz (alapértelmezett), hamis. Nem
namespacePrefixes Névtér URI az előtagleképezéshez, amely az xml-fájl elemzésekor a mezők elnevezésére szolgál.
Ha egy XML-fájl rendelkezik névtérrel, és a névtér engedélyezve van, a mezőnév alapértelmezés szerint megegyezik az XML-dokumentumban szereplő névvel.
Ha a térképen a névtér URI-jának egy eleme van definiálva, akkor a mező neve .prefix:fieldName
Nem
detectDataType Az egész szám, a dupla és a logikai adattípus észlelése. Az engedélyezett értékek a következők: igaz (alapértelmezett), hamis. Nem
compressionProperties Egy adott tömörítési kodek adatainak felbontására vonatkozó tulajdonságok csoportja. Nem
preserveZipFileNameAsFolder
(under compressionProperties->type as ZipDeflateReadSettings)
Akkor érvényes, ha a bemeneti adatkészlet ZipDeflate tömörítéssel van konfigurálva. Azt jelzi, hogy a másolás során meg kell-e őrizni a forrás zip-fájl nevét mappastruktúraként.
- Ha igaz (alapértelmezett) értékre van állítva, a szolgáltatás a kibontott fájlokat a következőre <path specified in dataset>/<folder named as source zip file>/írja: .
- Ha hamis értékre van állítva, a szolgáltatás a kibontott fájlokat közvetlenül a következőre <path specified in dataset>írja: . Győződjön meg arról, hogy nincsenek ismétlődő fájlnevek a különböző forrás zip-fájlokban, hogy elkerülje a versenyzést vagy a váratlan viselkedést.
Nem
preserveCompressionFileNameAsFolder
(alatt compressionProperties->type mint TarGZipReadSettings vagy TarReadSettings)
Akkor érvényes, ha a bemeneti adatkészlet TarGzip/Tar-tömörítésselvan konfigurálva. Azt jelzi, hogy a másolás során megőrzi-e a forrás tömörített fájlnevét mappastruktúraként.
- Ha igaz (alapértelmezett) értékre van állítva, a szolgáltatás a tömörített fájlokat a következőre <path specified in dataset>/<folder named as source compressed file>/írja: .
- Ha hamis értékre van állítva, a szolgáltatás közvetlenül <path specified in dataset>ide írja a tömörített fájlokat. Győződjön meg arról, hogy nem duplikált fájlnevek szerepelnek a különböző forrásfájlokban, hogy elkerülje a versenyzést vagy a váratlan viselkedést.
Nem

Adatfolyam-tulajdonságok leképezése

Az adatfolyamok leképezése során a következő adattárakban olvashat XML-formátumot: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Amazon S3 és SFTP. Xml-fájlokra mutathat XML-adatkészlet vagy beágyazott adatkészlet használatával.

Forrástulajdonságok

Az alábbi táblázat felsorolja az XML-forrás által támogatott tulajdonságokat. Ezeket a tulajdonságokat a Forrásbeállítások lapon szerkesztheti. További információ az XML-összekötő viselkedéséről. Beágyazott adatkészlet használata esetén további fájlbeállítások jelennek meg, amelyek megegyeznek az adathalmaz tulajdonságainak szakaszában leírt tulajdonságokkal.

Name Leírás Required Megengedett értékek Adatfolyam-szkript tulajdonság
Helyettesítő kártya elérési útjai A program minden olyan fájlt feldolgoz, amely megfelel a helyettesítő karakter elérési útjának. Felülbírálja az adathalmazban beállított mappát és fájl elérési útját. Nem Karakterlánc[] helyettesítő karakterekPaths
Partíció gyökérútvonala A particionált fájladatok esetében megadhat egy partíció gyökérútvonalát, hogy a particionált mappákat oszlopként olvassa be Nem Sztring partitionRootPath
Fájlok listája Azt jelzi, hogy a forrás olyan szövegfájlra mutat-e, amely felsorolja a feldolgozandó fájlokat Nem true vagy false Filelist
A fájlnév tárolására használt oszlop Új oszlop létrehozása a forrásfájl nevével és elérési útjával Nem Sztring rowUrlColumn
A befejezés után A feldolgozás után törölje vagy helyezze át a fájlokat. A fájl elérési útja a tároló gyökerétől indul Nem Törlés: true vagy false
Mozgatni: ['<from>', '<to>']
purgeFiles
moveFiles
Szűrés utoljára módosítva Fájlok szűrésének kiválasztása az utolsó módosításuk időpontjától függően Nem Timestamp modifiedAfter
modifiedBefore
Érvényesítési mód Megadja, hogy érvényesítse-e az XML-sémát. Nem None (alapértelmezett, nincs ellenőrzés)
xsd (ellenőrzés XSD használatával)
dtd (érvényesítés DTD használatával).
validationMode
Névterek A névtér engedélyezése az XML-fájlok elemzésekor. Nem true (alapértelmezett) vagy false Névterek
Névtér előtagpárjai Névtér URI az előtagleképezéshez, amely az xml-fájl elemzésekor a mezők elnevezésére szolgál.
Ha egy XML-fájl rendelkezik névtérrel, és a névtér engedélyezve van, a mezőnév alapértelmezés szerint megegyezik az XML-dokumentumban szereplő névvel.
Ha a térképen a névtér URI-jának egy eleme van definiálva, akkor a mező neve .prefix:fieldName
Nem Tömb mintával['URI1'->'prefix1','URI2'->'prefix2'] namespacePrefixes
Nem található fájl engedélyezése Ha igaz, a rendszer nem ad hibát, ha nem található fájl nem true vagy false ignoreNoFilesFound

Példa XML-forrásszkriptre

Az alábbi szkript egy példa egy XML-forráskonfigurációra az adatfolyamok adathalmaz módban való leképezésében.

source(allowSchemaDrift: true,
    validateSchema: false,
    validationMode: 'xsd',
    namespaces: true) ~> XMLSource

Az alábbi szkript egy példa egy XML-forráskonfigurációra beágyazott adathalmaz mód használatával.

source(allowSchemaDrift: true,
    validateSchema: false,
    format: 'xml',
    fileSystem: 'filesystem',
    folderPath: 'folder',
    validationMode: 'xsd',
    namespaces: true) ~> XMLSource

AZ XML-összekötő viselkedése

Ha XML-t használ forrásként, vegye figyelembe az alábbiakat.

  • XML-attribútumok:

    • Az elem attribútumai a hierarchia elemének almezőiként vannak elemezve.
    • Az attribútummező neve a mintát @attributeNameköveti.
  • XML-séma érvényesítése:

    • Dönthet úgy, hogy nem érvényesíti a sémát, vagy nem érvényesíti a sémát az XSD vagy a DTD használatával.
    • Ha XSD-t vagy DTD-t használ az XML-fájlok ellenőrzéséhez, az XSD/DTD-t relatív útvonalon kell hivatkozni az XML-fájlokba.
  • Névtér kezelése:

    • A névtér le van tiltva adatfolyam használatakor, ebben az esetben a névteret meghatározó attribútumok normál attribútumként lesznek elemezve.
    • Ha a névtér engedélyezve van, az elem és az attribútumok nevei alapértelmezés szerint a mintát namespaceUri,elementNamenamespaceUri,@attributeName követik. A forrás minden névtér URI-jának névtérelőtagját megadhatja, ebben az esetben az elem és az attribútumok neve a mintát definedPrefix:elementName követi, vagy definedPrefix:@attributeName ehelyett.
  • Érték oszlop:

    • Ha egy XML-elem egyszerű szöveges értékkel és attribútumokkal/gyermekelemekkel is rendelkezik, az egyszerű szöveges érték egy beépített mezőnévvel _value_rendelkező "értékoszlop" értékeként lesz elemezve. És örökli az elem névterét is, ha van ilyen.