Dela via


Hämta metadataaktivitet i Azure Data Factory eller Azure Synapse Analytics

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!

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 hämta metadataaktivitet 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 som inte fungerar 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 dess information.

  3. Välj en datauppsättning eller skapa en ny med knappen Ny. 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 som lagts till 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 redigeraren för dynamiskt innehåll 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)
storlek
(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 √/√
Microsoft Fabric Lakehouse √/√ √/√ x/x √/√ √/√
Filsystem √/√ √/√ √/√ √/√ x √/√
SFTP √/√ √/√ x/x √/√ x √/√
FTP √/√ √/√ x/x x/x x √/√

1 Metadata lastModified:

  • För Amazon S3 gäller Amazon S3 Compatible Storage, Google Cloud Storage och Oracle Cloud Storage lastModified för 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 lastModified gäller för containern och bloben, men inte för den virtuella mappen.

2 Metadata structure och columnCount stöds inte när metadata hämtas 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.

Notera följande:

  • När du använder Hämta metadataaktivitet mot en mapp kontrollerar du att du har list-/KÖR-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 har ändrats 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 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 är File eller Folder.
storlek 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. Det returnerade värdet är en lista över namnet och typen för varje underordnat objekt.
contentMD5 MD5 för filen. Gäller endast för filer.
struktur Datastruktur för filen eller relationsdatabastabellen. Det returnerade värdet är en lista över 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 aktiviteten inte även om filen, mappen eller tabellen inte finns. exists: false Returneras i stället i utdata.

Dricks

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.

Kommentar

När du hämtar metadata från fillager 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.

Kommentar

Om du vill att fältlistan Struktur ska tillhandahålla den faktiska datastrukturen för avgränsade text- och Excel-formatdatauppsättningar måste du aktivera First Row as Header 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"
        }
    }
}

Dataset

{
    "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:

Property Beskrivning Obligatoriskt
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
datauppsättning 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 datamängdssyntax finns i de specifika avsnitten för anslutningsappen. Ja
formatInställningar Använd när du använder datauppsättningen för formattyp. Nej
storeSettings Använd när du använder datauppsättningen för formattyp. Nej

Exempelutdata

Hämta metadataresultat visas i aktivitetsutdata. Följande är två exempel som visar omfattande metadataalternativ. Använd det här mönstret om du vill använda resultatet i en efterföljande aktivitet: @{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"
    }
  ]
}

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