Obter atividade de metadados no Azure Data Factory ou no Azure Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!

Você pode usar a atividade Obter metadados para recuperar os metadados de quaisquer dados no Azure Data Factory ou em um pipeline Synapse. Você pode usar a saída da atividade Obter metadados em expressões condicionais para executar a validação ou consumir os metadados em atividades subsequentes.

Criar uma atividade Obter metadados com a interface do usuário

Para usar uma atividade Obter metadados em um pipeline, conclua as seguintes etapas:

  1. Procure Obter Metadados no painel Atividades do pipeline e arraste uma atividade Falha para a tela do pipeline.

  2. Selecione a nova atividade Obter metadados na tela, se ainda não estiver selecionada, e sua guia Configurações para editar seus detalhes.

  3. Escolha um conjunto de dados ou crie um novo com o botão Novo. Em seguida, você pode especificar opções de filtro e adicionar colunas dos metadados disponíveis para o conjunto de dados.

    Shows the UI for a Get Metadata activity.

  4. Use a saída da atividade como uma entrada para outra atividade, como uma atividade Switch neste exemplo. Você pode fazer referência à saída da Atividade de Metadados em qualquer lugar em que o conteúdo dinâmico seja suportado na outra atividade.

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

  5. No editor de conteúdo dinâmico, selecione a saída da atividade Obter metadados para fazer referência a ela na outra atividade.

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

Capacidades suportadas

A atividade Obter metadados usa um conjunto de dados como entrada e retorna informações de metadados como saída. Atualmente, os seguintes conectores e os metadados recuperáveis correspondentes são suportados. O tamanho máximo dos metadados retornados é de 4 MB.

Conectores suportados

Armazenamento de ficheiros

Conector/Metadados nome_doitem-se
(ficheiro/pasta)
Tipo de item
(ficheiro/pasta)
size
(ficheiro)
criado
(ficheiro/pasta)
lastModified1
(ficheiro/pasta)
childItems
(pasta)
conteúdoMD5
(ficheiro)
estrutura2
(ficheiro)
columnCount2
(ficheiro)
existe3
(ficheiro/pasta)
Amazon S3 √/√ √/√ x/x √/√ x √/√
Armazenamento compatível com Amazon S3 √/√ √/√ x/x √/√ x √/√
Google Cloud Storage √/√ √/√ x/x √/√ x √/√
Armazenamento em nuvem Oracle √/√ √/√ x/x √/√ x √/√
Armazenamento de Blobs do Azure √/√ √/√ x/x √/√ √/√
Armazenamento do Azure Data Lake Ger1 √/√ √/√ x/x √/√ x √/√
Azure Data Lake Storage Gen2 (Armazenamento do Azure Data Lake Gen2) √/√ √/√ x/x √/√ √/√
Ficheiros do Azure √/√ √/√ √/√ √/√ x √/√
Microsoft Fabric Lakehouse √/√ √/√ x/x √/√ √/√
Sistema de Ficheiros √/√ √/√ √/√ √/√ x √/√
SFTP √/√ √/√ x/x √/√ x √/√
FTP √/√ √/√ x/x x/x x √/√

1 Metadados lastModified:

  • Para o Amazon S3, o Amazon S3 Compatible Storage, o Google Cloud Storage e o Oracle Cloud Storage se aplicam ao bucket e à chave, lastModified mas não à pasta virtual, e se aplicam ao bucket e exists à chave, mas não ao prefixo ou à pasta virtual.
  • Para o armazenamento de Blob do Azure, aplica-se ao contêiner e ao blob, lastModified mas não à pasta virtual.

2 Metadados structure e columnCount não são suportados ao obter metadados de ficheiros binários, JSON ou XML.

3 Metadadosexists: Para o Amazon S3, o Amazon S3 Compatible Storage, o Google Cloud Storage e o Oracle Cloud Storage aplicam-se ao bucket e à chave, exists mas não ao prefixo ou à pasta virtual.

Tenha em atenção o seguinte:

  • Ao usar a atividade Obter metadados em uma pasta, verifique se você tem permissão LIST/EXECUTE para a pasta fornecida.

  • O filtro curinga em pastas/arquivos não é suportado para a atividade Obter metadados.

  • modifiedDatetimeStart e modifiedDatetimeEnd conjunto de filtros no conector:

    • Essas duas propriedades são usadas para filtrar os itens filho ao obter metadados de uma pasta. Ele não se aplica ao obter metadados de um arquivo.
    • Quando esse filtro é usado, a childItems saída in inclui apenas os arquivos que são modificados dentro do intervalo especificado, mas não pastas.
    • Para aplicar esse filtro, a atividade GetMetadata enumerará todos os arquivos na pasta especificada e verificará o tempo modificado. Evite apontar para uma pasta com um grande número de arquivos, mesmo que a contagem de arquivos qualificados esperada seja pequena.

Base de dados relacional

Conector/Metadados Estrutura columnCount existe
Amazon RDS para SQL Server
Base de Dados SQL do Azure
Instância Gerida do SQL no Azure
Azure Synapse Analytics
SQL Server

Opções de metadados

Você pode especificar os seguintes tipos de metadados na lista de campos de atividade Obter metadados para recuperar as informações correspondentes:

Tipo de metadados Description
nome_doitem-se Nome do ficheiro ou pasta.
Tipo de item Tipo de arquivo ou pasta. O valor retornado é File ou Folder.
size Tamanho do ficheiro, em bytes. Aplicável apenas a ficheiros.
criado Data/hora criada do arquivo ou pasta.
lastModified Data/hora da última modificação do ficheiro ou pasta.
childItems Lista de subpastas e arquivos na pasta fornecida. Aplicável apenas a pastas. O valor retornado é uma lista do nome e do tipo de cada item filho.
conteúdoMD5 MD5 do arquivo. Aplicável apenas a ficheiros.
Estrutura Estrutura de dados do arquivo ou tabela de banco de dados relacional. O valor retornado é uma lista de nomes de colunas e tipos de coluna.
columnCount Número de colunas no arquivo ou tabela relacional.
existe Se existe um ficheiro, pasta ou tabela. Se exists for especificado na lista de campos Obter Metadados, a atividade não falhará mesmo que o arquivo, pasta ou tabela não exista. Em vez disso, exists: false é retornado na saída.

Gorjeta

Quando quiser validar a existência de um arquivo, pasta ou tabela, especifique exists na lista de campos de atividade Obter metadados. Em seguida, você pode verificar o exists: true/false resultado na saída da atividade. Se exists não for especificado na lista de campos, a atividade Obter metadados falhará se o objeto não for encontrado.

Nota

Quando você obtém metadados de armazenamentos de arquivos e configura modifiedDatetimeStart ou modifiedDatetimeEnd, o childItems na saída inclui apenas arquivos no caminho especificado que têm um tempo de última modificação dentro do intervalo especificado. Os itens em subpastas não estão incluídos.

Nota

Para que a lista de campos Estrutura forneça a estrutura de dados real para texto delimitado e conjuntos de dados no formato Excel, você deve habilitar a propriedade, que é suportada First Row as Header apenas para essas fontes de dados.

Sintaxe

Obter atividade de metadados

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

Conjunto de dados

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

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

Propriedades do tipo

Atualmente, a atividade Obter metadados pode retornar os seguintes tipos de informações de metadados:

Property Descrição Obrigatório
Lista de campos Os tipos de informações de metadados necessárias. Para obter detalhes sobre metadados suportados, consulte a seção Opções de metadados deste artigo. Sim
conjunto de dados O conjunto de dados de referência cujos metadados devem ser recuperados pela atividade Obter Metadados. Consulte a seção Recursos para obter informações sobre conectores suportados. Consulte os tópicos específicos do conector para obter detalhes da sintaxe do conjunto de dados. Sim
formatConfigurações Aplicar ao usar o conjunto de dados de tipo de formato. Não
storeSettings Aplicar ao usar o conjunto de dados de tipo de formato. Não

Saída de exemplo

Os resultados Obter metadados são mostrados na saída da atividade. Seguem-se dois exemplos que mostram opções de metadados abrangentes. Para usar os resultados em uma atividade subsequente, use este padrão: @{activity('MyGetMetadataActivity').output.itemName}.

Obter metadados de um ficheiro

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

Obter metadados de uma pasta

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

Saiba mais sobre outras atividades de fluxo de controle suportadas: