Attività Get Metadata in Azure Data FactoryGet metadata activity in Azure Data Factory

Questa attività può essere usata per recuperare i metadati di tutti i dati in Azure Data Factory.GetMetadata activity can be used to retrieve metadata of any data in Azure Data Factory. Questa attività può essere usata negli scenari seguenti:This activity can be used in the following scenarios:

  • Convalidare le informazioni sui metadati di tutti i datiValidate the metadata information of any data
  • Attivare una pipeline quando i dati sono pronti o disponibiliTrigger a pipeline when data is ready/ available

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

  • L'output dall'attività GetMetadata può essere usato nelle espressioni condizionali per eseguire la convalida.The output from GetMetadata Activity can be used in conditional expressions to perform validation.
  • Una pipeline può essere attivata quando viene soddisfatta una condizione specificata nel ciclo Do-UntilA pipeline can be triggered when condition is satisfied via Do-Until looping

Funzionalità supportateSupported capabilities

L'attività GetMetadata accetta un set di dati come input obbligatorio e restituisce informazioni sui metadati disponibili come output dell'attività.The GetMetadata Activity takes a dataset as a required input, and outputs metadata information available as activity output. Attualmente sono supportati i connettori seguenti, con i corrispondenti metadati recuperabili; la dimensione massima supportata per i metadati è 1 MB.Currently, the following connectors with corresponding retrievable metadata are supported, and the maximum supported metadata size is up to 1MB.

Nota

Se si esegue l'attività GetMetadata in un runtime di integrazione self-hosted, la funzionalità più recente è supportata a partire dalla versione 3.6.If you run GetMetadata activity on a Self-hosted Integration Runtime, the latest capability is supported on version 3.6 or above.

Connettori supportatiSupported connectors

Archiviazione file:File 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 √/√*√/√*
BLOB di AzureAzure Blob √/√√/√ √/√√/√ 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 √/√√/√
Archiviazione file di AzureAzure File Storage √/√√/√ √/√√/√ √/√√/√ √/√√/√ xx √/√√/√
File systemFile System √/√√/√ √/√√/√ √/√√/√ √/√√/√ xx √/√√/√
SFTPSFTP √/√√/√ √/√√/√ x/xx/x √/√√/√ xx √/√√/√
FTPFTP √/√√/√ √/√√/√ x/xx/x √/√√/√ xx √/√√/√
  • Per Amazon S3 e Google Sloud archiviazione, il lastModified si applica ai bucket e chiave, ma non virtuale cartella; e exists si applica ai bucket e chiave, ma non con prefisso o cartella virtuale.For Amazon S3 and Google Sloud Storage, the lastModified applies to bucket and key but not virtual folder; ; and the exists applies to bucket and key but not prefix or virtual folder.
  • Per BLOB di Azure, lastModified si applica al contenitore e al BLOB, ma non alla cartella virtuale.For Azure Blob, the lastModified applies to container and blob but not virtual folder.

Database relazionale:Relational 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

Nell'elenco dei campi attività GetMetadata da recuperare è possono specificare i tipi di metadati seguenti:The following metadata types can be specified in the GetMetadata activity field list to retrieve:

Tipo di metadatiMetadata type DescrizioneDescription
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 di output è File o Folder.Output value is File or Folder.
sizesize Dimensioni del file in byte.Size of the file in byte. Applicabile soltanto al file.Applicable to file only.
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 all'interno della cartella specificata.List of sub-folders and files inside the given folder. Applicabile solo alla cartella.Applicable to folder only. Il valore di output è un elenco di nomi e tipo di ogni elemento figlio.Output value is a list of name and type of each child item.
contentMD5contentMD5 MD5 del file.MD5 of the file. Applicabile soltanto al file.Applicable to file only.
structurestructure Struttura di dati all'interno del file o della tabella di database relazionale.Data structure inside the file or relational database table. Il valore di output è un elenco di nomi di colonna e di tipi di colonna.Output value is a list of column name and column type.
columnCountcolumnCount Numero di colonne all'interno del file o della tabella relazionale.Number of columns inside the file or relational table.
existsexists Indica se una file/cartella/tabella esiste o meno.Whether a file/folder/table exists or not. Notare che se exists viene specificato nell'elenco dei campi GetMetadata, l'attività non ha esito negativo anche se l'elemento (file/cartella/tabella) non esiste. Nell'output viene invece restituito il valore exists: false.Note if "exists" is specified in the GetaMetadata field list, the activity won't fail even when the item (file/folder/table) doesn't exists; instead, it returns exists: false in the output.

Suggerimento

Per convalidare se un file/cartella/tabella esiste o meno, specificare exists nell'elenco dei campi attività GetMetadata; a questo punto è possibile controllare il risultato exists: true/false dell'output dell'attività.When you want to validate if a file/folder/table exists or not, specify exists in the GetMetadata activity field list, then you can check the exists: true/false result from the activity output. Se exists non è configurato nell'elenco dei campi, l'attività GetMetadata avrà esito negativo se l'oggetto non viene trovato.If exists is not configured in the field list, the GetMetadata activity will fail when the object is not found.

SintassiSyntax

Attività GetMetadata:GetMetadata activity:

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

Set di dati:Dataset:

{
    "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à GetMetadata può recuperare i tipi di informazioni dei metadati seguenti.Currently GetMetadata activity can fetch the following types of metadata information.

ProprietàProperty DescrizioneDescription ObbligatorioRequired
fieldListfieldList Elenca i tipi di informazioni dei metadati necessarie.Lists the types of metadata information required. Vedere i dettagli nella sezione Opzioni dei metadati sui metadati supportati.See details in Metadata options section on supported metadata. YesYes
datasetdataset Set di dati di riferimento la cui attività dei metadati deve essere recuperata dall'attività GetMetadata.The reference dataset whose metadata activity is to be retrieved by the GetMetadata Activity. Vedere la sezione relativa alle funzionalità supportate sui connettori supportati e fare riferimento all'argomento sui connettori nei dettagli sulla sintassi del set di dati.See Supported capabilities section on supported connectors, and refer to connector topic on dataset syntax details. YesYes

Output di esempioSample output

Il risultato di GetMetadata è mostrato nell'output dell'attività.The GetMetadata result is shown in activity output. Di seguito due esempi con opzioni di metadati complete selezionate nell'elenco dei campi come riferimento.Below are two samples with exhaustive metadata options selected in field list as reference. Per usare il risultato in un'attività successiva, usare il criterio di @{activity('MyGetMetadataActivity').output.itemName}.To use the result in subsequent activity, use the pattern of @{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

Vedere altre attività del flusso di controllo supportate da Data Factory:See other control flow activities supported by Data Factory: