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:
Sök efter Hämta metadata i fönstret Pipelineaktiviteter och dra en aktivitet vid fel 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 informationen.
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.
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) |
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, ochexists
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
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 ä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 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.
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: