Sdílet prostřednictvím


Formát XML v kanálech Azure Data Factory a Synapse Analytics

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

Pokud chcete analyzovat soubory XML, postupujte podle tohoto článku.

Formát XML je podporovaný pro následující konektory: 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 a SFTP. Podporuje se jako zdroj, ale není jímka.

Vlastnosti datové sady

Úplný seznam oddílů a vlastností dostupných pro definování datových sad najdete v článku Datové sady . Tato část obsahuje seznam vlastností podporovaných datovou sadou XML.

Vlastnost Popis Povinní účastníci
type Vlastnost typu datové sady musí být nastavena na Xml. Ano
location Nastavení umístění souborů Každý konektor založený na souborech má svůj vlastní typ umístění a podporované vlastnosti v části location. Podrobnosti najdete v článku o konektoru –> část Vlastnosti datové sady. Ano
encodingName Typ kódování použitý k čtení a zápisu testovacích souborů.
Povolené hodnoty jsou následující: "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", "IBM8869", "IBM88"70", "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".
No
nullValue Určuje řetězcovou reprezentaci hodnoty null.
Výchozí hodnota je prázdný řetězec.
No
komprese Skupina vlastností pro konfiguraci komprese souborů Tuto část nakonfigurujte, když chcete během provádění aktivity provést kompresi nebo dekompresi. No
type
(v části compression)
Komprimační kodek používaný ke čtení a zápisu souborů XML.
Povolené hodnoty jsou bzip2, gzip, deflate, ZipDeflate, TarGzip, Tar, snappy nebo lz4. Výchozí hodnota není komprimována.
Všimněte si, že v současné době aktivita Copy nepodporuje "snappy" & "lz4" a mapování toku dat nepodporuje "ZipDeflate", "TarGzip" a "Tar".
Všimněte si, že při dekomprimaci aktivity kopírování dekomprimujte/ soubory TarGzip/Tar a zápis do úložiště dat jímky založené na souborech, ve výchozím nastavení se soubory extrahují do složky:<path specified in dataset>/<folder named as source compressed file>/, pomocí/preserveCompressionFileNameAsFolder preserveZipFileNameAsFolderzdroje aktivity kopírování můžete řídit, zda chcete zachovat název komprimovaných souborů jako strukturu složek.
Ne.
úroveň
(v části compression)
Poměr komprese.
Povolené hodnoty jsou optimální nebo nejrychlejší.
- Nejrychlejší: Operace komprese by se měla co nejrychleji dokončit, i když výsledný soubor není optimálně komprimovaný.
- Optimální: Operace komprese by měla být optimálně komprimována, i když dokončení operace trvá delší dobu. Další informace naleznete v tématu Úroveň komprese.
No

Níže je příklad datové sady XML ve službě 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"
            }
        }
    }
}

Vlastnosti aktivity kopírování

Úplný seznam oddílů a vlastností dostupných pro definování aktivit najdete v článku Pipelines . Tato část obsahuje seznam vlastností podporovaných zdrojem XML.

Přečtěte si, jak mapovat data XML a úložiště dat jímky nebo formát z mapování schématu. Při zobrazení náhledu souborů XML se data zobrazují s hierarchií JSON a pomocí cesty JSON můžete odkazovat na pole.

XML jako zdroj

Následující vlastnosti jsou podporovány v části aktivity kopírování *source* . Přečtěte si další informace o chování konektoru XML.

Vlastnost Popis Povinní účastníci
type Vlastnost typu zdroje aktivity kopírování musí být nastavena na XmlSource. Ano
formatSettings Skupina vlastností. Přečtěte si níže v tabulce nastavení pro čtení XML. No
storeSettings Skupina vlastností, jak číst data z úložiště dat. Každý konektor založený na souborech má vlastní podporovaná nastavení čtení v části storeSettings. Podrobnosti najdete v článku o konektoru –> aktivita Copy části vlastností. No

Podporovaná nastavení čtení XML v části formatSettings:

Vlastnost Popis Povinní účastníci
type Typ formatSettings musí být nastaven na XmlReadSettings. Ano
validationMode Určuje, zda se má ověřit schéma XML.
Povolené hodnoty nejsou žádné (výchozí, bez ověření), xsd (ověření pomocí XSD), dtd (ověření pomocí DTD).
No
obory názvů Zda se má povolit obor názvů při analýze souborů XML. Povolené hodnoty jsou true (výchozí), false. No
namespacePrefixes Identifikátor URI oboru názvů pro mapování předpon, který se používá k pojmenování polí při analýze souboru XML.
Pokud má soubor XML obor názvů a obor názvů je ve výchozím nastavení povolený, název pole je stejný jako v dokumentu XML.
Pokud je v této mapě definována položka pro identifikátor URI oboru názvů, název pole je prefix:fieldName.
No
detectDataType Určuje, jestli se mají zjišťovat celočíselné, dvojité a logické datové typy. Povolené hodnoty jsou true (výchozí), false. No
compressionProperties Skupina vlastností, jak dekomprimovat data pro daný kodek komprese. No
preserveZipFileNameAsFolder
(pod compressionProperties->type as ZipDeflateReadSettings)
Platí, když je vstupní datová sada nakonfigurovaná pomocí komprese ZipDeflate . Určuje, zda chcete zachovat název zdrojového souboru ZIP jako strukturu složek během kopírování.
- Pokud je nastavena hodnota true (výchozí), služba zapíše rozbalené soubory do <path specified in dataset>/<folder named as source zip file>/.
- Pokud je nastavena na hodnotu false, služba zapíše rozbalené soubory přímo do <path specified in dataset>. Ujistěte se, že v různých zdrojových souborech ZIP nemáte duplicitní názvy souborů, abyste se vyhnuli závodnímu nebo neočekávanému chování.
No
preserveCompressionFileNameAsFolder
(pod compressionProperties->type jako TarGZipReadSettings nebo TarReadSettings)
Platí, když je vstupní datová sada nakonfigurovaná pomocí komprese Tar Tar./ Určuje, zda se má během kopírování zachovat zdrojový komprimovaný název souboru jako struktura složek.
- Při nastavení na hodnotu true (výchozí) služba zapíše dekompresované soubory do <path specified in dataset>/<folder named as source compressed file>/.
- Pokud je nastavena na hodnotu false, služba zapíše dekomprimované soubory přímo do <path specified in dataset>. Ujistěte se, že v různých zdrojových souborech nemáte duplicitní názvy souborů, abyste se vyhnuli závodnímu nebo neočekávanému chování.
No

Mapování vlastností toku dat

Při mapování toků dat můžete číst formát XML v následujících úložištích dat: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Amazon S3 a SFTP. Na soubory XML můžete odkazovat buď pomocí datové sady XML, nebo pomocí vložené datové sady.

Vlastnosti zdroje

Následující tabulka uvádí vlastnosti podporované zdrojem XML. Tyto vlastnosti můžete upravit na kartě Možnosti zdroje. Další informace najdete v chování konektoru XML. Při použití vložené datové sady se zobrazí další nastavení souborů, která jsou stejná jako vlastnosti popsané v části vlastností datové sady.

Název Popis Povinní účastníci Povolené hodnoty Vlastnost skriptu toku dat
Cesty se zástupnými kartami Zpracují se všechny soubory odpovídající cestě se zástupným znakem. Přepíše složku a cestu k souboru nastavenou v datové sadě. No Řetězec[] Zástupné cardPaths
Kořenová cesta oddílu Pro data souborů rozdělená do oddílů můžete zadat kořenovou cestu oddílu, abyste mohli číst dělené složky jako sloupce. No String partitionRootPath
Seznam souborů Určuje, jestli váš zdroj ukazuje na textový soubor se seznamem souborů, které se mají zpracovat. No true nebo false fileList
Sloupec pro uložení názvu souboru Vytvoření nového sloupce s názvem zdrojového souboru a cestou No String rowUrlColumn
Po dokončení Soubory po zpracování odstraňte nebo přesuňte. Cesta k souboru začíná z kořenového adresáře kontejneru. No Odstranit: true nebo false
Pohnout: ['<from>', '<to>']
purgeFiles
moveFiles
Filtrovat podle poslední změny Zvolte filtrování souborů na základě toho, kdy byly naposledy změněny. No Časové razítko modifiedAfter
modifiedBefore
Režim ověřování Určuje, zda se má ověřit schéma XML. No None (výchozí, bez ověření)
xsd (ověření pomocí XSD)
dtd (ověřte pomocí DTD).
validationMode
Obory názvů Zda se má povolit obor názvů při analýze souborů XML. No true (výchozí) nebo false obory názvů
Páry předpon oboru názvů Identifikátor URI oboru názvů pro mapování předpon, který se používá k pojmenování polí při analýze souboru XML.
Pokud má soubor XML obor názvů a obor názvů je ve výchozím nastavení povolený, název pole je stejný jako v dokumentu XML.
Pokud je v této mapě definována položka pro identifikátor URI oboru názvů, název pole je prefix:fieldName.
No Matice se vzorem['URI1'->'prefix1','URI2'->'prefix2'] namespacePrefixes
Povolit žádné nalezené soubory Pokud je pravda, chyba se nevyvolá, pokud se nenašly žádné soubory. ne true nebo false ignoreNoFilesFound

Příklad zdrojového skriptu XML

Následující skript je příkladem konfigurace zdroje XML při mapování toků dat pomocí režimu datové sady.

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

Následující skript je příkladem konfigurace zdroje XML pomocí režimu vložené datové sady.

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

Chování konektoru XML

Při použití XML jako zdroje si poznamenejte následující informace.

  • Atributy XML:

    • Atributy elementu jsou analyzovány jako dílčí pole elementu v hierarchii.
    • Název pole atributu se řídí vzorem @attributeName.
  • Ověření schématu XML:

    • Můžete se rozhodnout, že schéma neověříte nebo ověříte schéma pomocí XSD nebo DTD.
    • Při použití XSD nebo DTD k ověření souborů XML musí být XSD/DTD odkazováno uvnitř souborů XML prostřednictvím relativní cesty.
  • Zpracování oboru názvů:

    • Obor názvů je možné zakázat při použití toku dat. V takovém případě se atributy, které definují obor názvů, parsují jako normální atributy.
    • Pokud je obor názvů povolený, názvy elementu a atributů se řídí vzorem namespaceUri,elementName a namespaceUri,@attributeName ve výchozím nastavení. Můžete definovat předponu oboru názvů pro každý identifikátor URI oboru názvů ve zdroji, v takovém případě názvy elementu a atributů se řídí vzorem definedPrefix:elementName nebo definedPrefix:@attributeName místo toho.
  • Sloupec hodnoty:

    • Pokud má element XML jednoduchou textovou hodnotu i atributy/podřízené elementy, je jednoduchá textová hodnota analyzována jako hodnota "value column" s předdefinovaným názvem _value_pole . A dědí také obor názvů elementu, pokud se použije.