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:
Sök efter Hämta metadata i fönstret Pipelineaktiviteter och dra en aktivitet som inte fungerar till pipelinearbetsytan.
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.
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.
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.
I redigeraren för dynamiskt innehåll väljer du aktiviteten Hämta metadata för att referera till den i den andra aktiviteten.
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, ochexists
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
ochmodifiedDatetimeEnd
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 modifiedDatetimeEnd
innehå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"
}
]
}
Relaterat innehåll
Läs mer om andra kontrollflödesaktiviteter som stöds: