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:

  1. Suchen Sie im Bereich mit den Pipelineaktivitäten nach Get Metadata, und ziehen Sie eine Get Metadata-Aktivität in den Pipelinebereich.

  2. 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.

  3. 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.

    Shows the UI for a Get Metadata activity.

  4. 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.

    Shows the pipeline with a Switch activity added to handle the output of the Get Metadata activity.

  5. 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.

    Shows the dynamic content editor with the output of the Get Metadata activity as the dynamic content.

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 und modifiedDatetimeEnd 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"
    }
  ]
}

Informationen zu weiteren unterstützten Ablaufsteuerungsaktivitäten: