Condividi tramite


Ottenere l'attività metadati in Azure Data Factory o Azure Synapse Analytics

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

È possibile usare l'attività Recupera metadati per recuperare i metadati di tutti i dati in Azure Data Factory o in una pipeline synapse. È possibile usare l'output dell'attività Recupera metadati nelle espressioni condizionali per eseguire la convalida o utilizzare i metadati nelle attività successive.

Creare un'attività Recupera metadati con l'interfaccia utente

Per usare un'attività Recupera metadati in una pipeline, seguire questa procedura:

  1. Cercare Recupera metadati nel riquadro Attività pipeline e trascinare un'attività Fail nell'area di disegno della pipeline.

  2. Selezionare la nuova attività Recupera metadati nell'area di disegno se non è già selezionata e la relativa scheda Impostazioni per modificarne i dettagli.

  3. Scegliere un set di dati o crearne uno nuovo con il pulsante Nuovo. È quindi possibile specificare le opzioni di filtro e aggiungere colonne dai metadati disponibili per il set di dati.

    Shows the UI for a Get Metadata activity.

  4. Usare l'output dell'attività come input per un'altra attività, ad esempio un'attività Switch in questo esempio. È possibile fare riferimento all'output dell'attività metadati in qualsiasi punto in cui il contenuto dinamico è supportato nell'altra attività.

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

  5. Nell'editor di contenuto dinamico selezionare l'output dell'attività Recupera metadati per farvi riferimento nell'altra attività.

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

Funzionalità supportate

L'attività Recupera metadati accetta un set di dati come input e restituisce le informazioni sui metadati come output. Attualmente sono supportati i connettori seguenti e i metadati recuperabili corrispondenti. La dimensione massima dei metadati restituiti è 4 MB.

Connettori supportati

Archiviazione file

Connettore/Metadati itemName
(file/cartella)
itemType
(file/cartella)
size
(file)
created
(file/cartella)
lastModified1
(file/cartella)
childItems
(cartella)
contentMD5
(file)
struttura2
(file)
columnCount2
(file)
esiste 3
(file/cartella)
Amazon S3 √/√ √/√ x/x √/√ x √/√
Archiviazione compatibili con Amazon S3 √/√ √/√ x/x √/√ x √/√
Google Cloud Storage √/√ √/√ x/x √/√ x √/√
Oracle Cloud Archiviazione √/√ √/√ x/x √/√ x √/√
Archivio BLOB di Azure √/√ √/√ x/x √/√ √/√
Azure Data Lake Storage Gen1 √/√ √/√ x/x √/√ x √/√
Azure Data Lake Storage Gen2 √/√ √/√ x/x √/√ √/√
File di Azure √/√ √/√ √/√ √/√ x √/√
Microsoft Fabric Lakehouse √/√ √/√ x/x √/√ √/√
File system √/√ √/√ √/√ √/√ x √/√
SFTP √/√ √/√ x/x √/√ x √/√
FTP √/√ √/√ x/x x/x x √/√

1 Metadati lastModified:

  • Per Amazon S3, Amazon S3 Compatible Archiviazione, Google Cloud Archiviazione e Oracle Cloud Archiviazione, 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.
  • Per l'archiviazione BLOB di Azure, lastModified si applica al contenitore e al BLOB, ma non alla cartella virtuale.

2 Metadati e columnCount non sono supportati quando si ottengono metadati structure da file binari, JSON o XML.

3 Metadatiexists: per Amazon S3, Amazon S3 Compatible Archiviazione, Google Cloud Archiviazione e Oracle Cloud Archiviazione, exists si applica al bucket e alla chiave ma non al prefisso o alla cartella virtuale.

Nota quanto segue:

  • Quando si usa l'attività Recupera metadati su una cartella, assicurarsi di disporre dell'autorizzazione LIST/EXECUTE per la cartella specificata.

  • Il filtro con caratteri jolly per cartelle/file non è supportato per l'attività Recupera metadati.

  • modifiedDatetimeStart e modifiedDatetimeEnd filtrare impostati sul connettore:

    • Queste due proprietà vengono usate per filtrare gli elementi figlio quando si ottengono metadati da una cartella. Non si applica quando si ottengono metadati da un file.
    • Quando viene utilizzato tale filtro, nell'output childItems sono inclusi solo i file modificati all'interno dell'intervallo specificato, ma non le cartelle.
    • Per applicare tale filtro, l'attività GetMetadata enumera tutti i file nella cartella specificata e controlla l'ora modificata. Evitare di puntare a una cartella con un numero elevato di file anche se il numero di file qualificato previsto è ridotto.

Database relazionale

Connettore/Metadati struttura columnCount esiste
Amazon RDS per SQL Server
Database SQL di Azure
Istanza gestita di database SQL di Azure
Azure Synapse Analytics
SQL Server

Opzioni dei metadati

È possibile specificare i tipi di metadati seguenti nell'elenco dei campi Attività Recupera metadati per recuperare le informazioni corrispondenti:

Tipo di metadati Descrizione
itemName Nome del file o della cartella.
itemType Tipo di file o di cartella. Il valore restituito è File o Folder.
size Dimensioni del file, in byte. Applicabile solo ai file.
created Data/ora di creazione del file o della cartella.
LastModified Data/ora dell'ultima modifica del file o della cartella.
childItems Elenco di sottocartelle e file nella cartella specificata. Applicabile solo alle cartelle. Il valore restituito è un elenco del nome e del tipo di ogni elemento figlio.
contentMD5 MD5 del file. Applicabile solo ai file.
struttura Struttura dei dati del file o della tabella di database relazionale. Il valore restituito è un elenco di nomi di colonna e tipi di colonna.
columnCount Numero di colonne nel file o nella tabella relazionale.
esiste Se esiste un file, una cartella o una tabella. Se exists è specificato nell'elenco dei campi Recupera metadati, l'attività non avrà esito negativo anche se il file, la cartella o la tabella non esiste. Viene invece exists: false restituito nell'output.

Suggerimento

Quando si desidera verificare che esista un file, una cartella o una tabella, specificare exists nell'elenco dei campi Attività Recupera metadati. È quindi possibile controllare il exists: true/false risultato nell'output dell'attività. Se exists non è specificato nell'elenco dei campi, l'attività Recupera metadati avrà esito negativo se l'oggetto non viene trovato.

Nota

Quando si ottengono metadati dagli archivi file e si configura modifiedDatetimeStart o modifiedDatetimeEnd, childItems nell'output sono inclusi solo i file nel percorso specificato che hanno un'ora dell'ultima modifica all'interno dell'intervallo specificato. Gli elementi nelle sottocartelle non sono inclusi.

Nota

Affinché l'elenco dei campi Struttura fornisca la struttura dei dati effettiva per i set di dati in formato testo delimitato ed Excel, è necessario abilitare la First Row as Header proprietà , supportata solo per queste origini dati.

Sintassi

Attività GetMetadata

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

Set di dati

{
    "name":"MyDataset",
    "properties":{
        "linkedServiceName":{
            "referenceName":"AzureStorageLinkedService",
            "type":"LinkedServiceReference"
        },
        "annotations":[

        ],
        "type":"Json",
        "typeProperties":{
            "location":{
                "type":"AzureBlobStorageLocation",
                "fileName":"file.json",
                "folderPath":"folder",
                "container":"container"
            }
        }
    }
}

Proprietà del tipo

Attualmente, l'attività Recupera metadati può restituire i tipi di informazioni sui metadati seguenti:

Proprietà Descrizione Richiesto
fieldList Tipi di informazioni sui metadati necessari. Per informazioni dettagliate sui metadati supportati, vedere la sezione Opzioni metadati di questo articolo.
set di dati Set di dati di riferimento i cui metadati devono essere recuperati dall'attività Recupera metadati. Per informazioni sui connettori supportati, vedere la sezione Funzionalità . Per informazioni dettagliate sulla sintassi del set di dati, vedere gli argomenti specifici del connettore.
formato Impostazioni Applicare quando si usa il set di dati del tipo di formato. No
store Impostazioni Applicare quando si usa il set di dati del tipo di formato. No

Output di esempio

I risultati get metadata vengono visualizzati nell'output dell'attività. Di seguito sono riportati due esempi che mostrano opzioni di metadati complete. Per usare i risultati in un'attività successiva, usare questo modello: @{activity('MyGetMetadataActivity').output.itemName}.

Ottenere i metadati di un file

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

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

Informazioni su altre attività del flusso di controllo supportate: