Aktiviteten Hämta metadata i Azure Data Factory eller Azure Synapse Analytics

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Du kan använda aktiviteten Hämta metadata för att hämta metadata för alla data i Azure Data Factory eller en Synapse-pipeline. Du kan använda utdata från aktiviteten Hämta metadata i villkorsuttryck för att utföra validering eller använda metadata i efterföljande aktiviteter.

Skapa en Get Metadata-aktivitet med användargränssnittet

Om du vill använda en Get Metadata-aktivitet i en pipeline utför du följande steg:

  1. Sök efter Hämta metadata i fönstret Aktiviteter i pipelinen och dra aktiviteten Misslyckas till pipelinearbetsytan.

  2. Välj den nya aktiviteten Hämta metadata på arbetsytan om den inte redan är markerad, och dess flik Datauppsättning, för att redigera dess information.

  3. Välj en datauppsättning eller skapa en ny med knappen Nytt. Sedan kan du ange filteralternativ och lägga till kolumner från tillgängliga metadata för datauppsättningen.

    Shows the UI for a Get Metadata activity.

  4. Använd aktivitetens utdata som indata till en annan aktivitet, till exempel en Switch-aktivitet i det här exemplet. Du kan referera till utdata från metadataaktiviteten var som helst där dynamiskt innehåll stöds i den andra aktiviteten.

    Shows the pipeline with a Switch activity added to handle the output of the Get Metadata activity.

  5. I redigeraren för dynamiskt innehåll väljer du utdata för aktiviteten Hämta metadata för att referera till den i den andra aktiviteten.

    Shows the dynamic content editor with the output of the Get Metadata activity as the dynamic content.

Funktioner som stöds

Aktiviteten Hämta metadata tar en datauppsättning som indata och returnerar metadatainformation som utdata. För närvarande stöds följande anslutningsappar och motsvarande hämtningsbara metadata. Den maximala storleken för returnerade metadata är 4 MB.

Anslutningsappar som stöds

File Storage

Anslutning/metadata itemName
(fil/mapp)
itemType
(fil/mapp)
ikoner
(fil)
Skapad
(fil/mapp)
lastModified1
(fil/mapp)
childItems
(mapp)
contentMD5
(fil)
struktur2
(fil)
columnCount2
(fil)
finns3
(fil/mapp)
Amazon S3 √/√ √/√ x/x √/√ x √/√
Amazon S3 Compatible Storage √/√ √/√ x/x √/√ x √/√
Google Cloud Storage √/√ √/√ x/x √/√ x √/√
Oracle Cloud Storage √/√ √/√ x/x √/√ x √/√
Azure Blob Storage √/√ √/√ x/x √/√ √/√
Azure Data Lake Storage Gen1 √/√ √/√ x/x √/√ x √/√
Azure Data Lake Storage Gen2 √/√ √/√ x/x √/√ √/√
Azure Files √/√ √/√ √/√ √/√ x √/√
Filsystem √/√ √/√ √/√ √/√ x √/√
SFTP √/√ √/√ x/x √/√ x √/√
FTP √/√ √/√ x/x x/x x √/√

1 Metadata:

  • För Amazon S3 gäller Amazon S3 Compatible Storage, Google Cloud Storage och Oracle Cloud Storage för bucketen och nyckeln, men inte för den virtuella mappen, och gäller för bucketen och nyckeln, men inte för prefixet eller den lastModifiedexists virtuella mappen.
  • För Azure Blob Storage gäller lastModified för containern och bloben, men inte för den virtuella mappen.

2 Metadata och stöds inte när du hämtar metadata från columnCount binärfiler, JSON- eller XML-filer.

3 Metadata: För Amazon S3 gäller Amazon S3 Compatible Storage, Google Cloud Storage och Oracle Cloud Storage bucketen och nyckeln, men inte för prefixet eller den exists virtuella mappen.

. Tänk på följande:

  • När du använder aktiviteten Hämta metadata mot en mapp kontrollerar du att du har behörigheten LIST/EXECUTE för den angivna mappen.

  • Jokerteckenfilter för mappar/filer stöds inte för aktiviteten Hämta metadata.

  • modifiedDatetimeStart och modifiedDatetimeEnd filteruppsättning för anslutning:

    • Dessa två egenskaper används för att filtrera underordnade objekt när du hämtar metadata från en mapp. Den gäller inte när du hämtar metadata från en fil.
    • När ett sådant filter används innehåller childItems indata endast de filer som ändras inom det angivna intervallet men inte mappar.
    • För att tillämpa ett sådant filter kommer GetMetadata-aktiviteten att räkna upp alla filer i den angivna mappen och kontrollera den ändrade tiden. Undvik att peka på en mapp med ett stort antal filer även om det förväntade kvalificerade antalet filer är litet.

Relationsdatabas

Anslutning/metadata Struktur columnCount Finns
Amazon RDS för SQL Server
Azure SQL Database
Hanterad Azure SQL-instans
Azure Synapse Analytics
SQL Server

Metadataalternativ

Du kan ange följande metadatatyper i fältlistan Hämta metadataaktivitet för att hämta motsvarande information:

Metadatatyp Beskrivning
itemName Namnet på filen eller mappen.
itemType Typ av fil eller mapp. Det returnerade värdet File är eller Folder .
ikoner Filens storlek, i byte. Gäller endast för filer.
Skapad Skapad datetime för filen eller mappen.
lastModified Senast ändrad datetime för filen eller mappen.
childItems Lista över undermappar och filer i den angivna mappen. Gäller endast för mappar. Returnerat värde är en lista med namn och typ för varje underobjekt.
contentMD5 MD5 för filen. Gäller endast för filer.
Struktur Datastrukturen för filen eller relationsdatabastabellen. Returnerat värde är en lista med kolumnnamn och kolumntyper.
columnCount Antal kolumner i filen eller relationstabellen.
Finns Om det finns en fil, mapp eller tabell. Om anges i fältlistan Hämta metadata misslyckas inte aktiviteten även om filen, mappen eller exists tabellen inte finns. Returneras exists: false i stället i utdata.

Tips

När du vill verifiera att det finns en fil, mapp eller tabell anger du exists i fältlistan Hämta metadataaktivitet. Du kan sedan kontrollera resultatet exists: true/false i aktivitetsutdata. Om exists inte anges i fältlistan misslyckas aktiviteten Hämta metadata om objektet inte hittas.

Anteckning

När du hämtar metadata från fillager och konfigurerar eller innehåller i utdata endast filer i den angivna sökvägen som har ändrats senast modifiedDatetimeStart inom det angivna modifiedDatetimeEndchildItems intervallet. Objekt i undermappar ingår inte.

Anteckning

För att fältlistan Struktur ska tillhandahålla den faktiska datastrukturen för avgränsad text och datauppsättningar i Excel-format måste du aktivera egenskapen , som endast stöds för dessa datakällor.

Syntax

Hämta metadataaktivitet

{
    "name":"MyActivity",
    "type":"GetMetadata",
    "dependsOn":[

    ],
    "policy":{
        "timeout":"7.00:00:00",
        "retry":0,
        "retryIntervalInSeconds":30,
        "secureOutput":false,
        "secureInput":false
    },
    "userProperties":[

    ],
    "typeProperties":{
        "dataset":{
            "referenceName":"MyDataset",
            "type":"DatasetReference"
        },
        "fieldList":[
            "size",
            "lastModified",
            "structure"
        ],
        "storeSettings":{
            "type":"AzureBlobStorageReadSettings"
        },
        "formatSettings":{
            "type":"JsonReadSettings"
        }
    }
}

Datamängd

{
    "name":"MyDataset",
    "properties":{
        "linkedServiceName":{
            "referenceName":"AzureStorageLinkedService",
            "type":"LinkedServiceReference"
        },
        "annotations":[

        ],
        "type":"Json",
        "typeProperties":{
            "location":{
                "type":"AzureBlobStorageLocation",
                "fileName":"file.json",
                "folderPath":"folder",
                "container":"container"
            }
        }
    }
}

Typegenskaper

För närvarande kan aktiviteten Hämta metadata returnera följande typer av metadatainformation:

Egenskap Beskrivning Krävs
fieldList De typer av metadatainformation som krävs. Mer information om metadata som stöds finns i avsnittet Metadataalternativ i den här artikeln. Ja
Datamängd Referensdatauppsättningen vars metadata ska hämtas av aktiviteten Hämta metadata. Se avsnittet Funktioner för information om anslutningsappar som stöds. Information om datauppsättningssyntax finns i de specifika avsnitten om anslutningsappar. Ja
formatSettings Använd när du använder datauppsättning av formattyp. Inga
storeSettings Använd när du använder datauppsättning av formattyp. Inga

Exempelutdata

Hämta metadata-resultat visas i aktivitetens utdata. Följande är två exempel som visar omfattande metadataalternativ. Om du vill använda resultatet i en efterföljande aktivitet använder du det här mönstret: @{activity('MyGetMetadataActivity').output.itemName} .

Hämta en fils metadata

{
  "exists": true,
  "itemName": "test.csv",
  "itemType": "File",
  "size": 104857600,
  "lastModified": "2017-02-23T06:17:09Z",
  "created": "2017-02-23T06:17:09Z",
  "contentMD5": "cMauY+Kz5zDm3eWa9VpoyQ==",
  "structure": [
    {
        "name": "id",
        "type": "Int64"
    },
    {
        "name": "name",
        "type": "String"
    }
  ],
  "columnCount": 2
}

Hämta metadata för en mapp

{
  "exists": true,
  "itemName": "testFolder",
  "itemType": "Folder",
  "lastModified": "2017-02-23T06:17:09Z",
  "created": "2017-02-23T06:17:09Z",
  "childItems": [
    {
      "name": "test.avro",
      "type": "File"
    },
    {
      "name": "folder hello",
      "type": "Folder"
    }
  ]
}

Nästa steg

Lär dig mer om andra kontrollflödesaktiviteter som stöds: