XML-format i Azure Data Factory- och Synapse Analytics-pipelines
GÄLLER FÖR: Azure Data Factory
Azure Synapse Analytics
Dricks
Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!
Följ den här artikeln när du vill parsa XML-filerna.
XML-format stöds för följande anslutningsappar: Amazon S3, Amazon S3 Compatible Storage, Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure Files, File System, FTP, Google Cloud Storage, HDFS, HTTP, Oracle Cloud Storage och SFTP. Det stöds som källa men inte mottagare.
Egenskaper för datauppsättning
En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera datauppsättningar finns i artikeln Datauppsättningar . Det här avsnittet innehåller en lista över egenskaper som stöds av XML-datauppsättningen.
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Datamängdens typegenskap måste anges till Xml. | Ja |
plats | Platsinställningar för filen eller filerna. Varje filbaserad anslutningsapp har en egen platstyp och egenskaper som stöds under location . Mer information finns i artikeln om anslutningsappar –> avsnittet Egenskaper för datauppsättning. |
Ja |
encodingName | Kodningstypen som används för att läsa/skriva testfiler. Tillåtna värden är följande: "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", "IBM870", "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-88 59-9", "ISO-8859-13", "ISO-8859-15", "WINDOWS-874", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-874", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-1251"1252", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-1255", "WINDOWS-1256", "WINDOWS-1257", "WINDOWS-1258". |
Nej |
nullValue | Anger strängrepresentationen av null-värdet. Standardvärdet är tom sträng. |
Nej |
komprimering | Grupp med egenskaper för att konfigurera filkomprimering. Konfigurera det här avsnittet när du vill utföra komprimering/dekomprimering under aktivitetskörningen. | Nej |
type (under compression ) |
Komprimeringskodcen som används för att läsa/skriva XML-filer. Tillåtna värden är bzip2, gzip, deflate, ZipDeflate, TarGzip, Tar, snappy eller lz4. Standardvärdet komprimeras inte. Observera att kopieringsaktiviteten för närvarande inte stöder "snappy" och "lz4", och mappning av dataflödet stöder inte "ZipDeflate", "TarGzip" och "Tar". Observera att när du använder kopieringsaktivitet för att dekomprimera ZipDeflate/TarGzip/Tar-filer och skriva till filbaserade mottagardatalager extraheras som standardfiler till mappen: <path specified in dataset>/<folder named as source compressed file>/ , använd/preserveCompressionFileNameAsFolder preserveZipFileNameAsFolder på kopieringsaktivitetskällan för att kontrollera om namnet på de komprimerade filerna ska behållas som mappstruktur. |
Nej. |
nivå (under compression ) |
Komprimeringsförhållandet. Tillåtna värden är optimala eller snabbaste. - Snabbast: Komprimeringsåtgärden bör slutföras så snabbt som möjligt, även om den resulterande filen inte komprimeras optimalt. - Optimal: Komprimeringsåtgärden bör komprimeras optimalt, även om åtgärden tar längre tid att slutföra. Mer information finns i avsnittet Komprimeringsnivå . |
Nej |
Nedan visas ett exempel på XML-datauppsättning i Azure Blob Storage:
{
"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"
}
}
}
}
Kopiera egenskaper för aktivitet
En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera aktiviteter finns i artikeln Pipelines . Det här avsnittet innehåller en lista över egenskaper som stöds av XML-källan.
Lär dig mer om hur du mappar XML-data och datalager/format för mottagare från schemamappning. När du förhandsgranskar XML-filer visas data med JSON-hierarki och du använder JSON-sökvägen för att peka på fälten.
XML som källa
Följande egenskaper stöds i avsnittet kopieringsaktivitet *källa* . Läs mer om XML-anslutningsbeteende.
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Typegenskapen för kopieringsaktivitetskällan måste anges till XmlSource. | Ja |
formatInställningar | En grupp med egenskaper. Se tabellen för XML-läsinställningar nedan. | Nej |
storeSettings | En grupp med egenskaper för hur du läser data från ett datalager. Varje filbaserad anslutningsapp har egna läsinställningar som stöds under storeSettings . Mer information finns i artikeln om anslutningsappar –> avsnittet Kopiera aktivitetsegenskaper. |
Nej |
Xml-läsinställningar som stöds under formatSettings
:
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Typen av formatInställningar måste anges till XmlReadSettings. | Ja |
validationMode | Anger om XML-schemat ska verifieras. Tillåtna värden är inga (standard, ingen validering), xsd (verifiera med XSD), dtd (verifiera med DTD). |
Nej |
namnområden | Om du vill aktivera namnområdet när XML-filerna parsas. Tillåtna värden är: true (standard), false. | Nej |
namespacePrefixes | Namnområdes-URI till prefixmappning, som används för att namnge fält när xml-filen parsas. Om en XML-fil har namnområdet och namnområdet är aktiverat är fältnamnet som standard detsamma som i XML-dokumentet. Om det finns ett objekt som definierats för namnområdes-URI:n i den här kartan är prefix:fieldName fältnamnet . |
Nej |
detectDataType | Om du vill identifiera heltals-, dubbel- och booleska datatyper. Tillåtna värden är: true (standard), false. | Nej |
compressionProperties | En grupp med egenskaper för hur du dekomprimeras data för en viss komprimeringskodc. | Nej |
preserveZipFileNameAsFolder (under compressionProperties ->type som ZipDeflateReadSettings ) |
Gäller när indatauppsättningen konfigureras med ZipDeflate-komprimering . Anger om käll-zip-filnamnet ska behållas som mappstruktur under kopiering. – När värdet är true (standard) skriver tjänsten uppackade filer till <path specified in dataset>/<folder named as source zip file>/ .– När värdet är falskt skriver tjänsten uppackade filer direkt till <path specified in dataset> . Kontrollera att du inte har duplicerade filnamn i olika zip-källfiler för att undvika racing eller oväntat beteende. |
Nej |
preserveCompressionFileNameAsFolder (under compressionProperties ->type som TarGZipReadSettings eller TarReadSettings ) |
Gäller när indatauppsättningen konfigureras med TarGzip/Tar-komprimering. Anger om källans komprimerade filnamn ska bevaras som mappstruktur under kopieringen. – När värdet är true (standard) skriver tjänsten dekomprimerade filer till <path specified in dataset>/<folder named as source compressed file>/ . – När värdet är falskt skriver tjänsten dekomprimerade filer direkt till <path specified in dataset> . Kontrollera att du inte har duplicerade filnamn i olika källfiler för att undvika racing eller oväntat beteende. |
Nej |
Mappa dataflödesegenskaper
När du mappar dataflöden kan du läsa XML-format i följande datalager: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Amazon S3 och SFTP. Du kan peka på XML-filer antingen med hjälp av XML-datamängd eller med hjälp av en infogad datauppsättning.
Källegenskaper
Tabellen nedan visar de egenskaper som stöds av en XML-källa. Du kan redigera de här egenskaperna på fliken Källalternativ . Läs mer om XML-anslutningsbeteende. När du använder infogad datauppsättning visas ytterligare filinställningar, som är samma som egenskaperna som beskrivs i avsnittet egenskaper för datamängd.
Name | beskrivning | Obligatoriskt | Tillåtna värden | Egenskap för dataflödesskript |
---|---|---|---|---|
Sökvägar för jokertecken | Alla filer som matchar sökvägen för jokertecken bearbetas. Åsidosätter den mapp och filsökväg som angetts i datauppsättningen. | Nej | Sträng[] | wildcardPaths |
Partitionsrotsökväg | För fildata som är partitionerade kan du ange en partitionsrotsökväg för att läsa partitionerade mappar som kolumner | Nej | String | partitionRootPath |
Lista över filer | Om källan pekar på en textfil som visar filer som ska bearbetas | Nej | true eller false |
fileList |
Kolumn för att lagra filnamn | Skapa en ny kolumn med källfilens namn och sökväg | Nej | String | rowUrlColumn |
Efter slutförande | Ta bort eller flytta filerna efter bearbetningen. Filsökvägen startar från containerroten | Nej | Ta bort: true eller false Flytta: ['<from>', '<to>'] |
purgeFiles moveFiles |
Filtrera efter senast ändrad | Välj att filtrera filer baserat på när de senast ändrades | Nej | Tidsstämpel | modifiedAfter modifiedBefore |
Valideringsläge | Anger om XML-schemat ska verifieras. | Nej | None (standard, ingen validering)xsd (verifiera med XSD)dtd (verifiera med DTD). |
validationMode |
Namnrymder | Om du vill aktivera namnområdet när XML-filerna parsas. | Nej | true (standard) eller false |
namnområden |
Namnområdesprefixpar | Namnområdes-URI till prefixmappning, som används för att namnge fält när xml-filen parsas. Om en XML-fil har namnområdet och namnområdet är aktiverat är fältnamnet som standard detsamma som i XML-dokumentet. Om det finns ett objekt som definierats för namnområdes-URI:n i den här kartan är prefix:fieldName fältnamnet . |
Nej | Matris med mönster['URI1'->'prefix1','URI2'->'prefix2'] |
namespacePrefixes |
Tillåt att inga filer hittas | Om sant utlöses inte ett fel om inga filer hittas | nej | true eller false |
ignoreNoFilesFound |
Exempel på XML-källskript
Skriptet nedan är ett exempel på en XML-källkonfiguration i mappning av dataflöden med hjälp av datauppsättningsläge.
source(allowSchemaDrift: true,
validateSchema: false,
validationMode: 'xsd',
namespaces: true) ~> XMLSource
Skriptet nedan är ett exempel på en XML-källkonfiguration med hjälp av infogat datauppsättningsläge.
source(allowSchemaDrift: true,
validateSchema: false,
format: 'xml',
fileSystem: 'filesystem',
folderPath: 'folder',
validationMode: 'xsd',
namespaces: true) ~> XMLSource
XML-anslutningsbeteende
Observera följande när du använder XML som källa.
XML-attribut:
- Attribut för ett element parsas som underfält för elementet i hierarkin.
- Namnet på attributfältet följer mönstret
@attributeName
.
XML-schemaverifiering:
- Du kan välja att inte validera schemat eller verifiera schemat med XSD eller DTD.
- När du använder XSD eller DTD för att validera XML-filer måste XSD/DTD refereras i XML-filerna via relativ sökväg.
Namnområdeshantering:
- Namnområdet kan inaktiveras när du använder dataflöde, i vilket fall attributen som definierar namnområdet parsas som normala attribut.
- När namnområdet är aktiverat följer namnen på elementet och attributen mönstret
namespaceUri,elementName
ochnamespaceUri,@attributeName
som standard. Du kan definiera namnområdesprefix för varje namnområdes-URI i källan, i vilket fall namnen på elementet och attributen följer mönstretdefinedPrefix:elementName
ellerdefinedPrefix:@attributeName
i stället.
Värdekolumn:
- Om ett XML-element har både enkelt textvärde och attribut/underordnade element parsas det enkla textvärdet som värdet för en "värdekolumn" med det inbyggda fältnamnet
_value_
. Och det ärver även -elementets namnområde om det gäller.
- Om ett XML-element har både enkelt textvärde och attribut/underordnade element parsas det enkla textvärdet som värdet för en "värdekolumn" med det inbyggda fältnamnet