Aktivität „Metadaten abrufen“ in Azure Data Factory und Azure Synapse Analytics
GILT FÜR: Azure Data Factory Azure Synapse Analytics
Tipp
Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!
Sie können die Aktivität „Metadaten abrufen“ verwenden, um Metadaten zu beliebigen Daten in Azure Data Factory oder einer Synapse-Pipeline abzurufen. Sie können die Ausgabe der Aktivität „Get Metadata“ (Metadaten abrufen) in bedingten Ausdrücken verwenden, um die Validierung durchzuführen oder die Metadaten in nachfolgenden Aktivitäten zu nutzen.
Erstellen einer Get Metadata-Aktivität über die Benutzeroberfläche
Führen Sie die folgenden Schritte aus, um eine Get Metadata-Aktivität in einer Pipeline zu verwenden:
Suchen Sie im Bereich mit den Pipelineaktivitäten nach Get Metadata, und ziehen Sie eine Get Metadata-Aktivität in den Pipelinebereich.
Wählen Sie auf der Canvas die neue Get Metadata-Aktivität aus, sofern sie noch nicht ausgewählt ist, und wählen Sie anschließend deren Registerkarte Einstellungen aus, um die Details zu bearbeiten.
Wählen Sie ein Dataset aus, oder erstellen Sie mit der Schaltfläche „Neu“ ein neues Dataset. Anschließend können Sie Filteroptionen angeben und dem Dataset Spalten aus den verfügbaren Metadaten hinzufügen.
Verwenden Sie die Ausgabe der Aktivität als Eingabe für eine andere Aktivität, beispielsweise für eine Switch-Aktivität wie in diesem Beispiel. Die Ausgabe der Metadata-Aktivität können Sie in jeder Aktivität referenzieren, solange diese dynamische Inhalte unterstützt.
Wählen Sie im Editor für dynamische Inhalte die Ausgabe der Get Metadata-Aktivität aus, um sie in der anderen Aktivität zu referenzieren.
Unterstützte Funktionen
Die Aktivität „Metadaten abrufen“ nutzt ein Dataset als Eingabe und gibt Metadateninformationen als Ausgabe zurück. Derzeit werden die folgenden Connectors und entsprechenden abrufbaren Metadaten unterstützt. Die maximale Größe der zurückgegebenen Metadaten beträgt 4 MB.
Unterstützte Connectors
File Storage
Connector/Metadaten | itemName (Datei/Ordner) |
itemType (Datei/Ordner) |
size (Datei) |
created (Datei/Ordner) |
lastModified1 (Datei/Ordner) |
childItems (Ordner) |
contentMD5 (Datei) |
structure2 (Datei) |
columnCount2 (Datei) |
exists3 (Datei/Ordner) |
---|---|---|---|---|---|---|---|---|---|---|
Amazon S3 | √/√ | √/√ | √ | x/x | √/√ | √ | x | √ | √ | √/√ |
Amazon S3 Compatible Storage | √/√ | √/√ | √ | 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 | √/√ | √ | √ | √ | √ | √/√ |
Dateisystem | √/√ | √/√ | √ | √/√ | √/√ | √ | x | √ | √ | √/√ |
SFTP | √/√ | √/√ | √ | x/x | √/√ | √ | x | √ | √ | √/√ |
FTP | √/√ | √/√ | √ | x/x | x/x | √ | x | √ | √ | √/√ |
1lastModified
-Metadaten:
- Für Amazon S3, Amazon S3-kompatiblen Speicher, Google Cloud Storage und Oracle Cloud Storage gilt
lastModified
für den Bucket und den Schlüssel, aber nicht für den virtuellen Ordner.exists
gilt für den Bucket und den Schlüssel, aber nicht für das Präfix oder den virtuellen Ordner. - Für Azure Blob Storage gilt
lastModified
für den Container und das Blob, aber nicht für den virtuellen Ordner.
2 Die Metadaten structure
und columnCount
werden beim Abrufen von Metadaten aus Binär-, JSON- oder XML-Dateien nicht unterstützt.
3exists
-Metadaten: Für Amazon S3, Amazon S3-kompatiblen Speicher, Google Cloud Storage und Oracle Cloud Storage gilt exists
für den Bucket und den Schlüssel, aber nicht für das Präfix oder den virtuellen Ordner.
Beachten Sie Folgendes:
Wenn Sie die Aktivität „Metadaten abrufen“ für einen Ordner verwenden möchten, vergewissern Sie sich, dass Sie für den angegebenen Ordner über die Berechtigung zum Auflisten/Ausführen (LIST/EXECUTE) verfügen.
Platzhalterfilter für Ordner/Dateien werden für die Aktivität „Metadaten abrufen" nicht unterstützt.
Die Filter
modifiedDatetimeStart
undmodifiedDatetimeEnd
sind für den Connector festgelegt:- Diese zwei Eigenschaften werden beim Abrufen von Metadaten aus einem Ordner zum Filtern der untergeordneten Elemente verwendet. Sie werden beim Abrufen von Metadaten aus einer Datei nicht angewendet.
- Wenn ein solcher Filter verwendet wird, enthält
childItems
in der Ausgabe nur die geänderten Dateien im festgelegten Bereich, aber keine Ordner. - Zum Anwenden eines solchen Filters durchläuft die GetMetadata-Aktivität alle Dateien im angegebenen Ordner und überprüft die Änderungszeit. Vermeiden Sie Verweise auf einen Ordner mit sehr vielen Dateien, selbst wenn Sie eine geringe Anzahl qualifizierter Dateien erwarten.
Relationale Datenbank
Connector/Metadaten | structure | columnCount | exists |
---|---|---|---|
Amazon RDS für SQL Server | √ | √ | √ |
Azure SQL-Datenbank | √ | √ | √ |
Verwaltete Azure SQL-Datenbank-Instanz | √ | √ | √ |
Azure Synapse Analytics | √ | √ | √ |
SQL Server | √ | √ | √ |
Metadatenoptionen
Sie können die folgenden Metadatentypen in der Feldliste der Aktivität „Metadaten abrufen“ angeben, um die entsprechenden Informationen abzurufen:
Metadatentyp | BESCHREIBUNG |
---|---|
itemName | Name der Datei oder des Ordners. |
itemType | Typ der Datei oder des Ordners. Der zurückgegebene Wert lautet File oder Folder . |
size | Größe der Datei in Bytes. Gilt nur für Dateien. |
created | Datum/Uhrzeit der Erstellung der Datei oder des Ordners. |
lastModified | Datum/Uhrzeit der letzten Änderung der Datei oder des Ordners. |
childItems | Liste der Unterordner und Dateien im angegebenen Ordner. Gilt nur für Ordner. Der Rückgabewert ist eine Liste mit den Namen und Typen der einzelnen untergeordneten Elemente. |
contentMD5 | MD5 der Datei. Gilt nur für Dateien. |
structure | Datenstruktur der Datei oder Tabelle in der relationalen Datenbank. Der Rückgabewert ist eine Liste von Spaltennamen und Spaltentypen. |
columnCount | Anzahl der Spalten in der Datei oder relationalen Tabelle. |
exists | Gibt an, ob eine Datei, ein Ordner oder eine Tabelle vorhanden ist. Wenn exists in der Feldliste der Aktivität „Metadaten abrufen“ angegeben ist, führt die Aktivität selbst dann nicht zu einem Fehler, wenn die Datei, der Ordner oder die Tabelle nicht vorhanden ist. Stattdessen wird exists: false in der Ausgabe zurückgegeben. |
Tipp
Wenn Sie überprüfen möchten, ob eine Datei, ein Ordner oder eine Tabelle vorhanden ist, geben Sie exists
in der Feldliste der Aktivität „Metadaten abrufen“ an. Anschließend können Sie das Ergebnis (exists: true/false
) in der Ausgabe der Aktivität überprüfen. Falls exists
nicht in der Feldliste angegeben ist, schlägt die Aktivität „Metadaten abrufen“ fehl, wenn das Objekt nicht gefunden wird.
Hinweis
Wenn Sie Metadaten aus Dateispeichern abrufen und modifiedDatetimeStart
oder modifiedDatetimeEnd
konfigurieren, enthält childItems
in der Ausgabe nur Dateien im angegebenen Pfad, deren letzte Änderung im angegebenen Zeitraum liegt. Elemente in Unterordnern werden nicht eingeschlossen.
Hinweis
Damit die Feldliste Struktur die tatsächliche Datenstruktur für Datasets im Textformat mit Trennzeichen und im Excel-Format bereitstellt, müssen Sie die Eigenschaft First Row as Header
aktivieren, die nur für diese Datenquellen unterstützt wird.
Syntax
Aktivität „Metadaten abrufen“
{
"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"
}
}
}
}
Typeigenschaften
Die Aktivität „Metadaten abrufen“ kann zurzeit die folgenden Arten von Metadateninformationen zurückgeben:
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
fieldList | Die erforderlichen Arten von Metadateninformationen. Ausführliche Informationen zu unterstützten Metadaten finden Sie im Abschnitt Metadatenoptionen dieses Artikels. | Ja |
dataset | Das Referenzdataset, dessen Metadaten von der Aktivität „Metadaten abrufen“ abgerufen werden sollen. Weitere Informationen zu unterstützten Connectors finden Sie im Abschnitt Funktionen. Ausführliche Informationen zur Syntax von Datasets finden Sie in den jeweiligen Connectorthemen. | Ja |
formatSettings | Wird bei Verwendung eines formatierten Datasets angewendet. | Nein |
storeSettings | Wird bei Verwendung eines formatierten Datasets angewendet. | Nein |
Beispielausgabe
Die Ergebnisse von „Metadaten abrufen“ werden in der Ausgabe der Aktivität angezeigt. Im Folgenden zwei Beispiele für umfassende Metadatenoptionen. Um die Ergebnisse in nachfolgenden Aktivitäten zu nutzen, verwenden Sie das Muster @{activity('MyGetMetadataActivity').output.itemName}
.
Abrufen der Metadaten einer Datei
{
"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
}
Abrufen der Metadaten eines Ordners
{
"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"
}
]
}
Zugehöriger Inhalt
Informationen zu weiteren unterstützten Ablaufsteuerungsaktivitäten: