Activiteit metagegevens ophalen in Azure Data Factory of Azure Synapse Analytics
VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics
Tip
Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .
U kunt de activiteit Metagegevens ophalen gebruiken om de metagegevens van alle gegevens in Azure Data Factory of een Synapse-pijplijn op te halen. U kunt de uitvoer van de activiteit Metagegevens ophalen in voorwaardelijke expressies gebruiken om validatie uit te voeren of de metagegevens in volgende activiteiten te gebruiken.
Een activiteit Metagegevens ophalen maken met de gebruikersinterface
Voer de volgende stappen uit om een activiteit Metagegevens ophalen in een pijplijn te gebruiken:
Zoek naar Metagegevens ophalen in het deelvenster Pijplijnactiviteiten en sleep een mislukte activiteit naar het pijplijncanvas.
Selecteer de nieuwe activiteit Metagegevens ophalen op het canvas als deze nog niet is geselecteerd en het tabblad Instellingen om de details ervan te bewerken.
Kies een gegevensset of maak een nieuwe met de knop Nieuw. Vervolgens kunt u filteropties opgeven en kolommen toevoegen uit de beschikbare metagegevens voor de gegevensset.
Gebruik de uitvoer van de activiteit als invoer voor een andere activiteit, zoals een Switch-activiteit in dit voorbeeld. U kunt verwijzen naar de uitvoer van de metagegevensactiviteit waar dynamische inhoud wordt ondersteund in de andere activiteit.
Selecteer in de editor voor dynamische inhoud de uitvoer van de activiteit Metagegevens ophalen om ernaar te verwijzen in de andere activiteit.
Ondersteunde mogelijkheden
De activiteit Metagegevens ophalen neemt een gegevensset als invoer en retourneert metagegevensgegevens als uitvoer. Momenteel worden de volgende connectors en de bijbehorende ophaalbare metagegevens ondersteund. De maximale grootte van geretourneerde metagegevens is 4 MB.
Ondersteunde connectors
File Storage
Connector/metagegevens | itemName (bestand/map) |
itemType (bestand/map) |
size (bestand) |
geschapen (bestand/map) |
lastModified1 (bestand/map) |
childItems (map) |
contentMD5 (bestand) |
structuur2 (bestand) |
columnCount2 (bestand) |
bestaat3 (bestand/map) |
---|---|---|---|---|---|---|---|---|---|---|
Amazon S3 | √/√ | √/√ | √ | x/x | √/√ | √ | x | √ | √ | √/√ |
Amazon S3-compatibele opslag | √/√ | √/√ | √ | 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 | √/√ | √ | √ | √ | √ | √/√ |
Bestandssysteem | √/√ | √/√ | √ | √/√ | √/√ | √ | x | √ | √ | √/√ |
SFTP | √/√ | √/√ | √ | x/x | √/√ | √ | x | √ | √ | √/√ |
FTP | √/√ | √/√ | √ | x/x | x/x | √ | x | √ | √ | √/√ |
1 Metagegevens lastModified
:
- Voor Amazon S3, Amazon S3 Compatibele opslag, Google Cloud Storage en Oracle Cloud Storage is
lastModified
van toepassing op de bucket en de sleutel, maar niet op de virtuele map, enexists
geldt dit voor de bucket en de sleutel, maar niet voor het voorvoegsel of de virtuele map. - Voor Azure Blob Storage is
lastModified
dit van toepassing op de container en de blob, maar niet op de virtuele map.
2 Metagegevens structure
en columnCount
worden niet ondersteund bij het ophalen van metagegevens uit binaire, JSON- of XML-bestanden.
3 Metagegevens exists
: Voor Amazon S3, Amazon S3 Compatibele opslag, Google Cloud Storage en Oracle Cloud Storage, exists
is van toepassing op de bucket en de sleutel, maar niet op het voorvoegsel of de virtuele map.
Let op het volgende:
Wanneer u activiteit Metagegevens ophalen gebruikt voor een map, moet u ervoor zorgen dat u de machtiging LIST/EXECUTE hebt voor de opgegeven map.
Jokertekenfilter voor mappen/bestanden wordt niet ondersteund voor activiteit Metagegevens ophalen.
modifiedDatetimeStart
enmodifiedDatetimeEnd
filter ingesteld op connector:- Deze twee eigenschappen worden gebruikt om de onderliggende items te filteren bij het ophalen van metagegevens uit een map. Deze is niet van toepassing bij het ophalen van metagegevens uit een bestand.
- Wanneer een dergelijk filter wordt gebruikt, bevat de
childItems
uitvoer alleen de bestanden die zijn gewijzigd binnen het opgegeven bereik, maar niet mappen. - Als u een dergelijk filter wilt toepassen, inventariseert GetMetadata-activiteit alle bestanden in de opgegeven map en controleert u de gewijzigde tijd. Verwijs niet naar een map met een groot aantal bestanden, zelfs als het verwachte aantal gekwalificeerde bestanden klein is.
Relationele database
Connector/metagegevens | structuur | columnCount | bestaat |
---|---|---|---|
Amazon RDS voor SQL Server | √ | √ | √ |
Azure SQL-database | √ | √ | √ |
Azure SQL Managed Instance | √ | √ | √ |
Azure Synapse Analytics | √ | √ | √ |
SQL Server | √ | √ | √ |
Opties voor metagegevens
U kunt de volgende metagegevenstypen opgeven in de lijst met activiteitsvelden ophalen van metagegevens om de bijbehorende informatie op te halen:
Metagegevenstype | Beschrijving |
---|---|
itemName | Naam van het bestand of de map. |
itemType | Type van het bestand of de map. Geretourneerde waarde is File of Folder . |
size | Grootte van het bestand, in bytes. Alleen van toepassing op bestanden. |
geschapen | Datum/tijd gemaakt van het bestand of de map. |
lastModified | Laatst gewijzigd datum/tijd van het bestand of de map. |
childItems | Lijst met submappen en bestanden in de opgegeven map. Alleen van toepassing op mappen. Geretourneerde waarde is een lijst met de naam en het type van elk onderliggend item. |
contentMD5 | MD5 van het bestand. Alleen van toepassing op bestanden. |
structuur | Gegevensstructuur van het bestand of de relationele databasetabel. Geretourneerde waarde is een lijst met kolomnamen en kolomtypen. |
columnCount | Aantal kolommen in het bestand of de relationele tabel. |
bestaat | Of er nu een bestand, map of tabel bestaat. Als exists deze is opgegeven in de lijst met velden ophalen, mislukt de activiteit niet, zelfs niet als het bestand, de map of de tabel niet bestaat. In plaats daarvan wordt exists: false deze geretourneerd in de uitvoer. |
Tip
Als u wilt valideren dat er een bestand, map of tabel bestaat, geeft u dit op exists
in de lijst met activiteitenvelden voor metagegevens ophalen. Vervolgens kunt u het exists: true/false
resultaat controleren in de uitvoer van de activiteit. Als exists
deze niet is opgegeven in de lijst met velden, mislukt de activiteit Metagegevens ophalen als het object niet wordt gevonden.
Notitie
Wanneer u metagegevens krijgt uit bestandsarchieven en configureert modifiedDatetimeStart
of modifiedDatetimeEnd
, bevat de childItems
uitvoer alleen bestanden in het opgegeven pad met een laatst gewijzigde tijd binnen het opgegeven bereik. Items in submappen zijn niet opgenomen.
Notitie
Als u in de lijst Structuurvelden de werkelijke gegevensstructuur wilt opgeven voor gegevenssets met scheidingstekens en excel-indelingen, moet u de First Row as Header
eigenschap inschakelen die alleen wordt ondersteund voor deze gegevensbronnen.
Syntaxis
Activiteit Metagegevens ophalen
{
"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"
}
}
}
Gegevensset
{
"name":"MyDataset",
"properties":{
"linkedServiceName":{
"referenceName":"AzureStorageLinkedService",
"type":"LinkedServiceReference"
},
"annotations":[
],
"type":"Json",
"typeProperties":{
"location":{
"type":"AzureBlobStorageLocation",
"fileName":"file.json",
"folderPath":"folder",
"container":"container"
}
}
}
}
Typeeigenschappen
Momenteel kan de activiteit Metagegevens ophalen de volgende typen metagegevensgegevens retourneren:
Eigenschappen | Beschrijving | Vereist |
---|---|---|
fieldList | De typen metagegevens die vereist zijn. Zie de sectie Metagegevensopties van dit artikel voor meer informatie over ondersteunde metagegevens. | Ja |
gegevensset | De referentiegegevensset waarvan de metagegevens moeten worden opgehaald door de activiteit Metagegevens ophalen. Zie de sectie Mogelijkheden voor informatie over ondersteunde connectors. Raadpleeg de specifieke connectoronderwerpen voor details van de syntaxis van de gegevensset. | Ja |
formatSettings | Toepassen bij het gebruik van gegevensset van het indelingstype. | Nee |
storeSettings | Toepassen bij het gebruik van gegevensset van het indelingstype. | Nee |
Voorbeelduitvoer
De resultaten van get metadata worden weergegeven in de uitvoer van de activiteit. Hieronder volgen twee voorbeelden met uitgebreide opties voor metagegevens. Als u de resultaten in een volgende activiteit wilt gebruiken, gebruikt u dit patroon: @{activity('MyGetMetadataActivity').output.itemName}
.
Metagegevens van een bestand ophalen
{
"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
}
Metagegevens van een map ophalen
{
"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"
}
]
}
Gerelateerde inhoud
Meer informatie over andere ondersteunde controlestroomactiviteiten: