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:

  1. Zoek naar Metagegevens ophalen in het deelvenster Pijplijnactiviteiten en sleep een mislukte activiteit naar het pijplijncanvas.

  2. Selecteer de nieuwe activiteit Metagegevens ophalen op het canvas als deze nog niet is geselecteerd en het bijbehorende tabblad Instellingen om de details ervan te bewerken.

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

    Shows the UI for a Get Metadata activity.

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

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

  5. Selecteer in de editor voor dynamische inhoud de uitvoer van de activiteit Metagegevens ophalen om ernaar te verwijzen in de andere activiteit.

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

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

Verbinding maken or/metagegevens itemName
(bestand/map)
itemType
(bestand/map)
size
(bestand)
Gemaakt
(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, en exists 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 en modifiedDatetimeEnd 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

Verbinding maken or/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.
Gemaakt 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
indeling Instellingen Toepassen bij het gebruik van gegevensset van het indelingstype. Nee
store Instellingen 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"
    }
  ]
}

Meer informatie over andere ondersteunde controlestroomactiviteiten: