Hämta metadataaktivitet 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 aktivitet för att hämta metadata med användargränssnittet

Utför följande steg för att använda aktiviteten Hämta metadata i en pipeline:

  1. Sök efter Hämta metadata i fönstret Pipelineaktiviteter och dra en aktivitet vid fel till pipelinearbetsytan.

  2. Välj den nya aktiviteten Hämta metadata på arbetsytan om den inte redan är markerad och fliken Inställningar för att redigera informationen.

  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.

    Visar användargränssnittet för aktiviteten Hämta metadata.

  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.

    Visar pipelinen med en Switch-aktivitet tillagd för att hantera utdata från aktiviteten Hämta metadata.

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

    Visar den dynamiska innehållsredigeraren med utdata från aktiviteten Hämta metadata som dynamiskt innehåll.

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

Anslutningsapp/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-kompatibel lagring √/√ √/√ 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 lastModified:

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

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

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

. Tänk på följande:

  • När du använder Hämta metadata-aktivitet mot en mapp kontrollerar du att du har LIST-/EXECUTE-behörighet till den angivna mappen.

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

  • modifiedDatetimeStart och modifiedDatetimeEnd filteruppsättning på anslutningsappen:

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

Relationsdatabas

Anslutningsapp/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 metadata 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 är File eller Folder.
ikoner Filens storlek i byte. Gäller endast för filer.
Skapad Skapade 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 underordnat objekt.
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 exists anges i fältlistan Hämta metadata misslyckas inte aktiviteten även om filen, mappen eller tabellen inte finns. exists: false Returneras 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 filarkiv och konfigurerar modifiedDatetimeStart eller modifiedDatetimeEndinnehåller childItems utdata endast filer i den angivna sökvägen som har en senast ändrad tid inom det angivna intervallet. Objekt i undermappar ingår inte.

Anteckning

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

Syntax

GetMetadata-aktivitet

{
    "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. Mer information om anslutningsappar som stöds finns i avsnittet Funktioner . Information om datauppsättningssyntax finns i avsnittet om specifika anslutningsprogram. Ja
formatInställningar 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

Resultatet hämta metadata visas i aktivitetsutdata. 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äs mer om andra kontrollflödesaktiviteter som stöds: