Ottenere l'attività dei metadati in Azure Data FactoryGet Metadata activity in Azure Data Factory

È possibile utilizzare l'attività Recupera metadati per recuperare i metadati di tutti i dati in Azure Data Factory.You can use the Get Metadata activity to retrieve the metadata of any data in Azure Data Factory. Questa attività può essere utilizzata negli scenari seguenti:You can use this activity in the following scenarios:

  • Convalidare i metadati di tutti i dati.Validate the metadata of any data.
  • Attivare una pipeline quando i dati sono pronti/disponibili.Trigger a pipeline when data is ready/available.

La funzionalità seguente è disponibile nel flusso di controllo:The following functionality is available in the control flow:

  • Per eseguire la convalida, è possibile utilizzare l'output dell'attività Ottieni metadati nelle espressioni condizionali.You can use the output from the Get Metadata activity in conditional expressions to perform validation.
  • È possibile attivare una pipeline quando una condizione viene soddisfatta tramite do until loop.You can trigger a pipeline when a condition is satisfied via Do Until looping.

CapabilitiesCapabilities

L'attività Ottieni metadati accetta un set di dati come input e restituisce informazioni sui metadati come output.The Get Metadata activity takes a dataset as an input and returns metadata information as output. Attualmente sono supportati i seguenti connettori e i metadati recuperabili corrispondenti.Currently, the following connectors and corresponding retrievable metadata are supported. Le dimensioni massime dei metadati restituiti sono pari a 1 MB.The maximum size of returned metadata is 1 MB.

Nota

Se si esegue l'attività Ottieni metadati in un runtime di integrazione self-hosted, le funzionalità più recenti sono supportate nella versione 3,6 o successive.If you run the Get Metadata activity on a self-hosted integration runtime, the latest capabilities are supported on version 3.6 or later.

Connettori supportatiSupported connectors

Archiviazione fileFile storage

Connettore/MetadatiConnector/Metadata itemNameitemName
(file/cartella)(file/folder)
itemTypeitemType
(file/cartella)(file/folder)
sizesize
(file)(file)
createdcreated
(file/cartella)(file/folder)
LastModifiedlastModified
(file/cartella)(file/folder)
childItemschildItems
(cartella)(folder)
contentMD5contentMD5
(file)(file)
structurestructure
(file)(file)
columnCountcolumnCount
(file)(file)
existsexists
(file/cartella)(file/folder)
Amazon S3Amazon S3 √/√√/√ √/√√/√ x/xx/x √/√*√/√* xx √/√*√/√*
Google Cloud StorageGoogle Cloud Storage √/√√/√ √/√√/√ x/xx/x √/√*√/√* xx √/√*√/√*
Archivio BLOB di AzureAzure Blob storage √/√√/√ √/√√/√ x/xx/x √/√*√/√* √/√√/√
Azure Data Lake Storage Gen1Azure Data Lake Storage Gen1 √/√√/√ √/√√/√ x/xx/x √/√√/√ xx √/√√/√
Azure Data Lake Storage Gen2Azure Data Lake Storage Gen2 √/√√/√ √/√√/√ x/xx/x √/√√/√ xx √/√√/√
File di AzureAzure Files √/√√/√ √/√√/√ √/√√/√ √/√√/√ xx √/√√/√
File systemFile system √/√√/√ √/√√/√ √/√√/√ √/√√/√ xx √/√√/√
SFTPSFTP √/√√/√ √/√√/√ x/xx/x √/√√/√ xx √/√√/√
FTPFTP √/√√/√ √/√√/√ x/xx/x x/xx/x xx √/√√/√
  • Per Amazon S3 e Google Cloud Storage, lastModified si applica al bucket e alla chiave ma non alla cartella virtuale e exists si applica al bucket e alla chiave, ma non al prefisso o alla cartella virtuale.For Amazon S3 and Google Cloud Storage, lastModified applies to the bucket and the key but not to the virtual folder, and exists applies to the bucket and the key but not to the prefix or virtual folder.
  • Per l'archiviazione BLOB di Azure, lastModified si applica al contenitore e al BLOB, ma non alla cartella virtuale.For Azure Blob storage, lastModified applies to the container and the blob but not to the virtual folder.
  • lastModified filtro è attualmente applicabile per filtrare gli elementi figlio ma non la cartella o il file specificato.lastModified filter currently applies to filter child items but not the specified folder/file itself.
  • Il filtro con caratteri jolly per le cartelle o i file non è supportato per l'attività Ottieni metadati.Wildcard filter on folders/files is not supported for Get Metadata activity.

Database relazionaleRelational database

Connettore/MetadatiConnector/Metadata structurestructure columnCountcolumnCount existsexists
Database SQL di AzureAzure SQL Database
Istanza gestita di Database SQL di AzureAzure SQL Database managed instance
Azure SQL Data WarehouseAzure SQL Data Warehouse
SQL ServerSQL Server

Opzioni dei metadatiMetadata options

È possibile specificare i tipi di metadati seguenti nell'elenco dei campi attività Recupera metadati per recuperare le informazioni corrispondenti:You can specify the following metadata types in the Get Metadata activity field list to retrieve the corresponding information:

Tipo di metadatiMetadata type DescriptionDescription
itemNameitemName Nome del file o della cartella.Name of the file or folder.
itemTypeitemType Tipo di file o di cartella.Type of the file or folder. Il valore restituito è File o Folder.Returned value is File or Folder.
sizesize Dimensioni del file, in byte.Size of the file, in bytes. Applicabile solo ai file.Applicable only to files.
createdcreated Data/ora di creazione del file o della cartella.Created datetime of the file or folder.
LastModifiedlastModified Data/ora dell'ultima modifica del file o della cartella.Last modified datetime of the file or folder.
childItemschildItems Elenco di sottocartelle e file nella cartella specificata.List of subfolders and files in the given folder. Applicabile solo alle cartelle.Applicable only to folders. Il valore restituito è un elenco del nome e del tipo di ogni elemento figlio.Returned value is a list of the name and type of each child item.
contentMD5contentMD5 MD5 del file.MD5 of the file. Applicabile solo ai file.Applicable only to files.
structurestructure Struttura dei dati del file o della tabella di database relazionale.Data structure of the file or relational database table. Il valore restituito è un elenco di nomi di colonna e di colonne.Returned value is a list of column names and column types.
columnCountcolumnCount Numero di colonne nel file o nella tabella relazionale.Number of columns in the file or relational table.
existsexists Indica se esiste un file, una cartella o una tabella.Whether a file, folder, or table exists. Si noti che se exists viene specificato nell'elenco dei campi di Get Metadata, l'attività non avrà esito negativo anche se il file, la cartella o la tabella non esiste.Note that if exists is specified in the Get Metadata field list, the activity won't fail even if the file, folder, or table doesn't exist. Viene invece restituito exists: false nell'output.Instead, exists: false is returned in the output.

Suggerimento

Quando si desidera convalidare l'esistenza di un file, una cartella o una tabella, specificare exists nell'elenco dei campi attività Ottieni metadati.When you want to validate that a file, folder, or table exists, specify exists in the Get Metadata activity field list. È quindi possibile controllare il risultato della exists: true/false nell'output dell'attività.You can then check the exists: true/false result in the activity output. Se exists non è specificato nell'elenco dei campi, l'attività Ottieni metadati avrà esito negativo se l'oggetto non viene trovato.If exists isn't specified in the field list, the Get Metadata activity will fail if the object isn't found.

Nota

Quando si ottengono metadati da archivi di file e si configurano modifiedDatetimeStart o modifiedDatetimeEnd, il childItems nell'output includerà solo i file nel percorso specificato con l'ora dell'Ultima modifica compresa nell'intervallo specificato.When you get metadata from file stores and configure modifiedDatetimeStart or modifiedDatetimeEnd, the childItems in output will include only files in the given path that have a last modified time within the specified range. In non includerà gli elementi nelle sottocartelle.In won’t include items in subfolders.

SintassiSyntax

Attività GetMetadataGet Metadata activity

{
    "name": "MyActivity",
    "type": "GetMetadata",
    "typeProperties": {
        "fieldList" : ["size", "lastModified", "structure"],
        "dataset": {
            "referenceName": "MyDataset",
            "type": "DatasetReference"
        }
    }
}

Set di datiDataset

{
    "name": "MyDataset",
    "properties": {
    "type": "AzureBlob",
        "linkedService": {
            "referenceName": "StorageLinkedService",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath":"container/folder",
            "filename": "file.json",
            "format":{
                "type":"JsonFormat"
            }
        }
    }
}

Proprietà del tipoType properties

Attualmente, l'attività Ottieni metadati può restituire i seguenti tipi di informazioni sui metadati:Currently, the Get Metadata activity can return the following types of metadata information:

ProprietàProperty DescriptionDescription ObbligatoriaRequired
fieldListfieldList Tipi di informazioni sui metadati necessari.The types of metadata information required. Per informazioni dettagliate sui metadati supportati, vedere la sezione opzioni per i metadati di questo articolo.For details on supported metadata, see the Metadata options section of this article. Yes
datasetdataset Set di dati di riferimento i cui metadati devono essere recuperati dall'attività Recupera metadati.The reference dataset whose metadata is to be retrieved by the Get Metadata activity. Vedere la sezione funzionalità per informazioni sui connettori supportati.See the Capabilities section for information on supported connectors. Per informazioni dettagliate sulla sintassi dei set di dati, vedere gli argomenti del connettore specifici.Refer to the specific connector topics for dataset syntax details. Yes
formatSettingsformatSettings Applicare quando si usa il tipo di formato DataSet.Apply when using format type dataset. NoNo
storeSettingsstoreSettings Applicare quando si usa il tipo di formato DataSet.Apply when using format type dataset. NoNo

Output di esempioSample output

I risultati di Get Metadata vengono visualizzati nell'output dell'attività.The Get Metadata results are shown in the activity output. Di seguito sono riportati due esempi che mostrano opzioni di metadati estese.Following are two samples showing extensive metadata options. Per usare i risultati in un'attività successiva, usare questo modello: @{activity('MyGetMetadataActivity').output.itemName}.To use the results in a subsequent activity, use this pattern: @{activity('MyGetMetadataActivity').output.itemName}.

Ottenere i metadati di un fileGet a file's metadata

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

Ottenere i metadati di una cartellaGet a folder's metadata

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

Passaggi successiviNext steps

Informazioni sulle altre attività del flusso di controllo supportate da Data Factory:Learn about other control flow activities supported by Data Factory: