Activité Get Metadata dans Azure Data Factory et Azure Synapse Analytics

S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics

Conseil

Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, l’aide à la décision et la création de rapports. Découvrez comment démarrer un nouvel essai gratuitement !

Vous pouvez utiliser l’activité d’obtention des métadonnées (Get Metadata) pour extraire les métadonnées de n’importe quelles données d’un pipeline Azure Data Factory ou Synapse. Vous pouvez utiliser la sortie de l’activité d’obtention des métadonnées dans des expressions conditionnelles pour effectuer la validation, ou consommer les métadonnées dans des activités subséquentes.

Créer une activité Obtenir les métadonnées avec l’interface utilisateur

Pour utiliser une activité Obtenir les métadonnées dans un pipeline, procédez comme suit :

  1. Recherchez Obtenir les métadonnées dans le volet Activités de pipeline, puis faites glisser une activité d’échec vers le canevas du pipeline.

  2. Sélectionnez la nouvelle activité Obtenir les métadonnées sur le canevas, si elle n’est pas déjà sélectionnée, et son onglet Paramètres pour modifier ses détails.

  3. Choisissez un Jeu de données ou créez-en un avec le nouveau bouton. Vous pouvez ensuite spécifier des options de filtre et ajouter des colonnes à partir des métadonnées disponibles pour le jeu de données.

    Shows the UI for a Get Metadata activity.

  4. Utilisez la sortie de l’activité comme entrée d’une autre activité, comme une activité Switch dans cet exemple. Vous pouvez référencer la sortie de l’activité des métadonnées partout où le contenu dynamique est pris en charge dans l’autre activité.

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

  5. Dans l’éditeur de contenu dynamique, sélectionnez la sortie de l’activité d’extraction des métadonnées pour la référencer dans l’autre activité.

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

Fonctionnalités prises en charge

L’activité d’obtention des métadonnées sélectionne un jeu de données en tant qu’entrée et retourne les informations de métadonnées en tant que sortie. Actuellement, les connecteurs suivants et les métadonnées récupérables correspondantes sont pris en charge. La taille maximale des métadonnées retournées est de 4 Mo.

Connecteurs pris en charge

Stockage Fichier

Connecteur/Métadonnées itemName
(fichier/dossier)
itemType
(fichier/dossier)
taille
(fichier)
created
(fichier/dossier)
lastModified1
(fichier/dossier)
childItems
(dossier)
contentMD5
(fichier)
structure2
(fichier)
columnCount2
(fichier)
exists3
(fichier/dossier)
Amazon S3 √/√ √/√ x/x √/√ x √/√
Stockage compatible Amazon S3 √/√ √/√ x/x √/√ x √/√
Google Cloud Storage √/√ √/√ x/x √/√ x √/√
Oracle Cloud Storage √/√ √/√ x/x √/√ x √/√
stockage d’objets blob Azure √/√ √/√ 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 √/√ √/√
Système de fichiers √/√ √/√ √/√ √/√ x √/√
SFTP √/√ √/√ x/x √/√ x √/√
FTP √/√ √/√ x/x x/x x √/√

1 Métadonnées lastModified :

  • Pour Amazon S3, le stockage compatible Amazon S3, Google Cloud Storage et Oracle Cloud Storage, lastModified s’applique au compartiment et à la clé, mais pas au dossier virtuel, et exists s’applique au compartiment et à la clé, mais pas au préfixe ni au dossier virtuel.
  • Pour le stockage Blob Azure, lastModified s’applique au conteneur et au blob, mais pas au dossier virtuel.

2 Les métadonnées structure et columnCount ne sont pas pris en charge lors de l’obtention de métadonnées à partir de fichiers binaires, JSON ou XML.

3 Métadonnées exists : pour Amazon S3, le stockage compatible Amazon S3, Google Cloud Storage et Oracle Cloud Storage, exists s’applique au compartiment et à la clé, mais pas au préfixe ni au dossier virtuel.

Notez les points suivants :

  • Lorsque vous utilisez l’activité d’obtention des métadonnées sur un dossier, vérifiez que vous disposez de l’autorisation LIST/EXECUTE sur le dossier donné.

  • Le filtre de caractères génériques sur des dossiers/fichiers n’est pas pris en charge pour une activité Obtenir des métadonnées.

  • Filtres modifiedDatetimeStart et modifiedDatetimeEnd définis sur le connecteur :

    • Ces deux propriétés sont utilisées pour filtrer les éléments enfants lors de l’obtention de métadonnées à partir d’un dossier. Cela ne s’applique pas lors de l’obtention de métadonnées à partir d’un fichier.
    • Quand un tel filtre est utilisé, les childItems dans la sortie comprennent uniquement les fichiers modifiés dans la plage spécifiée, pas dans les dossiers.
    • Pour appliquer un tel filtre, l’activité GetMetadata énumère tous les fichiers dans le dossier spécifié, et vérifie l’heure de modification. Évitez de pointer vers un dossier contenant un grand nombre de fichiers, même si le nombre de fichiers qualifiés attendu est faible.

Base de données relationnelle

Connecteur/Métadonnées structure columnCount exists
Amazon RDS pour SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL Server

Options de métadonnées

Vous pouvez spécifier les types de métadonnées suivants dans la liste de champs de l’activité d’obtention des métadonnées pour récupérer les informations correspondantes :

Type de métadonnées Description
itemName Nom du fichier ou dossier.
itemType Type du fichier ou dossier. La valeur retournée est File ou Folder.
taille Taille du fichier en octets. S’applique aux fichiers uniquement.
created Date/heure de création du fichier ou du dossier.
lastModified Date/heure de dernière modification du fichier ou du dossier.
childItems Liste des sous-dossiers et fichiers dans le dossier concerné. S’applique aux dossiers uniquement. La valeur retournée est une liste contenant le nom et le type de chaque élément enfant.
contentMD5 MD5 du fichier. S’applique aux fichiers uniquement.
structure Structure de données du fichier ou de la table de base de données relationnelle. La valeur retournée est une liste de noms et de types de colonnes.
columnCount Nombre de colonnes dans le fichier ou la table relationnelle.
exists Indique si un fichier, un dossier ou une table existe ou non. Si exists est spécifié dans la liste de champs de l’activité d’obtention des métadonnées, l’activité n’échouera pas, même si le fichier, le dossier ou la table n’existe pas. exists: false sera alors retourné dans la sortie.

Conseil

Si vous souhaitez vérifier qu’un fichier, un dossier ou une table existe, spécifiez exists dans la liste de champs de l’activité d’obtention des métadonnées. Vous pouvez ensuite vérifier le résultat de exists: true/false dans la sortie de l’activité. Si exists n’est pas spécifié dans la liste de champs, l’activité d’obtention des métadonnées échouera si l’objet est introuvable.

Notes

Quand vous récupérez des métadonnées à partir de magasins de fichiers et configurez modifiedDatetimeStart ou modifiedDatetimeEnd, le childItems dans la sortie inclut uniquement les fichiers du chemin donné, dont l’heure de dernière modification est comprise dans la plage spécifiée. Les éléments des sous-dossiers ne sont pas inclus.

Notes

Pour que la liste de champs Structure fournisse la structure de données réelle pour les jeux de données de format texte et Excel délimités, vous devez activer la propriété First Row as Header, qui est prise en charge uniquement pour ces sources de données.

Syntaxe

Activité d’obtention des métadonnées

{
    "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"
            }
        }
    }
}

Propriétés type

Actuellement, l’activité d’obtention des métadonnées peut retourner les types d’informations de métadonnées suivants :

Propriété Description Obligatoire
fieldList Les types d’informations de métadonnées requis. Pour plus d’informations sur les métadonnées prises en charge, consultez la section Options de métadonnées de cet article. Oui
dataset Le jeu de données de référence à partir duquel les métadonnées doivent être récupérées par l’activité d’obtention des métadonnées. Pour plus d’informations sur les connecteurs pris en charge, consultez la section Fonctionnalités. Reportez-vous aux rubriques spécifiques aux connecteurs pour plus d’informations sur la syntaxe de jeu de données. Oui
formatSettings S’applique lors de l’utilisation du type de format Jeu de données. Non
storeSettings S’applique lors de l’utilisation du type de format Jeu de données. Non

Exemple de sortie

Les résultats de l’activité d’obtention des métadonnées sont indiqués dans la sortie de l’activité. Voici deux exemples illustrant les nombreuses options de métadonnées. Pour utiliser le résultat dans une activité suivante, utilisez le modèle @{activity('MyGetMetadataActivity').output.itemName}.

Obtenir les métadonnées d’un fichier

{
  "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
}

Obtenir les métadonnées d’un dossier

{
  "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"
    }
  ]
}

Découvrez d’autres activités de flux de contrôle prises en charge :