Obter atividade de metadados no Azure Data Factory ou no Azure Synapse Analytics
APLICA-SE A: Azure Data Factory Azure Synapse Analytics
Dica
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!
Você pode usar a atividade obtenção de metadados para recuperar os metadados de quaisquer dados no pipeline do Azure Data Factory ou do Synapse. Você pode usar a saída da atividade de obtenção de metadados em expressões condicionais para executar a validação ou consumir os metadados nas atividades subsequentes.
Criar uma atividade de obtenção de metadados com a interface do usuário
Para usar uma atividade de obtenção de metadados em um pipeline, conclua as seguintes etapas:
Procure Get Metadata no painel Atividades do pipeline e arraste uma atividade de obtenção de metadados para a tela do pipeline.
Selecione a nova atividade Obter Metadados na tela, se ainda não estiver selecionada, e sua guia Configurações, para editar seus detalhes.
Escolha um conjunto de um ou crie outro 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.
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 que o conteúdo dinâmico tenha suporte na outra atividade.
No editor de conteúdo dinâmico, selecione a saída Get Metadata para fazer referência a ela na outra atividade.
Funcionalidades com suporte
A atividade de obtenção de metadados usa um conjunto de dados como uma entrada e retorna informações de metadados como saída. Atualmente, os seguintes conectores e metadados recuperáveis correspondentes são suportados. O tamanho máximo dos metadados retornados é de 4 MB.
Conectores com suporte
Armazenamento de arquivos
Conector/metadados | itemName (arquivo/pasta) |
itemType (arquivo/pasta) |
tamanho (arquivo) |
criado (arquivo/pasta) |
lastModified1 (arquivo/pasta) |
childItems (pasta) |
contentMD5 (arquivo) |
structure2 (arquivo) |
columnCount2 (arquivo) |
exists3 (arquivo/pasta) |
---|---|---|---|---|---|---|---|---|---|---|
Amazon S3 | √/√ | √/√ | √ | x/x | √/√ | √ | x | √ | √ | √/√ |
Armazenamento compatível com Amazon S3 | √/√ | √/√ | √ | x/x | √/√ | √ | x | √ | √ | √/√ |
Google Cloud Storage | √/√ | √/√ | √ | x/x | √/√ | √ | x | √ | √ | √/√ |
Oracle Cloud Storage | √/√ | √/√ | √ | x/x | √/√ | √ | x | √ | √ | √/√ |
Armazenamento de Blobs do Azure | √/√ | √/√ | √ | x/x | √/√ | √ | √ | √ | √ | √/√ |
Azure Data Lake Storage Gen1 | √/√ | √/√ | √ | x/x | √/√ | √ | x | √ | √ | √/√ |
Azure Data Lake Storage Gen2 | √/√ | √/√ | √ | x/x | √/√ | √ | √ | √ | √ | √/√ |
Arquivos do Azure | √/√ | √/√ | √ | √/√ | √/√ | √ | x | √ | √ | √/√ |
Lakehouse do Microsoft Fabric | √/√ | √/√ | √ | x/x | √/√ | √ | √ | √ | √ | √/√ |
Sistema de Arquivos | √/√ | √/√ | √ | √/√ | √/√ | √ | x | √ | √ | √/√ |
SFTP | √/√ | √/√ | √ | x/x | √/√ | √ | x | √ | √ | √/√ |
FTP | √/√ | √/√ | √ | x/x | x/x | √ | x | √ | √ | √/√ |
1 Metadados lastModified
:
- Para o Amazon S3, o armazenamento compatível Amazon S3, o Google Cloud Storage e o Oracle Cloud Storage,
lastModified
aplica-se ao bucket e à chave, mas não à pasta virtual, eexists
aplica-se ao bucket e à chave, mas não ao prefixo ou à pasta virtual. - Para o armazenamento de blobs do Azure,
lastModified
aplica-se ao contêiner e ao blob, mas não à pasta virtual.
O metadados 2structure
e columnCount
não têm suporte ao obter metadados de arquivos binários, JSON ou XML.
Os metadados 3exists
: para Amazon S3, Armazenamento compatível com Amazon S3, Google Cloud Storage e Oracle Cloud Storage, exists
aplica-se ao bucket e à chave, mas não ao prefixo ou à pasta virtual.
Observe o seguinte:
Ao usar a atividade obtenção de metadados em uma pasta, verifique se você tem a permissão LISTAR/EXECUTAR na pasta especificada.
O filtro de caracteres curingas em pastas/arquivos não tem suporte na atividade de obtenção de metadados.
Conjunto de filtros
modifiedDatetimeStart
emodifiedDatetimeEnd
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, o
childItems
na saída inclui apenas os arquivos que são modificados dentro do intervalo especificado, mas não as pastas. - Para aplicar esse filtro, a atividade Obtenção de Metadados enumerará todos os arquivos na pasta especificada e verificará o horário modificado. Evite apontar para uma pasta com um grande número de arquivos, mesmo se a contagem de arquivos qualificados esperada for pequena.
Banco de dados relacional
Conector/metadados | estrutura | ColumnCount | exists |
---|---|---|---|
Amazon RDS para SQL Server | √ | √ | √ |
Banco de Dados SQL do Azure | √ | √ | √ |
Instância Gerenciada do SQL do Azure | √ | √ | √ |
Azure Synapse Analytics | √ | √ | √ |
SQL Server | √ | √ | √ |
Opções de metadados
Você pode especificar os seguintes tipos de metadados na lista de campos de atividade de obtenção de metadados para recuperar as informações correspondentes:
Tipo de Metadados | Description |
---|---|
itemName | Nome do arquivo ou pasta. |
itemType | Tipo do arquivo ou pasta. O valor retornado é File ou Folder . |
tamanho | Tamanho do arquivo, em bytes. Aplicável somente nos arquivos. |
criado | O datetime da última modificação do arquivo ou da pasta. |
lastModified | O datetime da última modificação do arquivo ou da pasta. |
childItems | Lista de subpastas e arquivos na pasta determinada. Aplicável somente nas pastas. O valor de saída é uma lista do nome e tipo de cada item filho. |
contentMD5 | MD5 do arquivo. Aplicável somente nos arquivos. |
estrutura | Estrutura de dados do arquivo ou tabela de banco de dados relacional. O valor retornado é uma lista de nomes de coluna e tipos de coluna. |
ColumnCount | Número de colunas no arquivo ou tabela relacional. |
exists | Se existe um arquivo, uma pasta ou uma tabela. Se exists for especificado na lista de campos de Obtenção de Metadados, a atividade não falhará mesmo que o arquivo, a pasta ou a tabela não existam. Em vez disso, exists: false é retornado na saída. |
Dica
Quando desejar validar se existe um arquivo, pasta ou tabela existem, especifique exists
na lista de campos de atividade de Obtenção de Metadados. Em seguida, você pode verificar o resultado exists: true/false
na saída da atividade. Se exists
não for especificado na lista de campos, a atividade Obtenção de Metadados falhará se o objeto não for encontrado.
Observação
Quando receber metadados dos armazenamentos de arquivos e configurar modifiedDatetimeStart
ou modifiedDatetimeEnd
, o childItems
na saída inclui apenas arquivos no caminho especificado que têm a hora da última modificação dentro do intervalo especificado. Itens em subpastas não estão incluídos.
Observação
Para a lista campos Estrutura fornecer a estrutura de dados real para texto delimitado e conjuntos de dados no formato do Excel, você deve habilitar a propriedade First Row as Header
, que tem suporte apenas para essas fontes de dados.
Syntax
Atividade de obtenção 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 de tipo
Atualmente, a atividade de Obtenção de Metadados pode devolver os seguintes tipos de informações de metadados:
Propriedade | Descrição | Obrigatório |
---|---|---|
fieldList | Os tipos de informações de metadados necessárias. Para saber mais detalhes sobre metadados com suporte, consulte a seção Opções de metadados deste artigo. | Sim |
dataset | O conjunto de dados de referência cujos metadados devem ser recuperados pela atividade de obtenção de metadados. Consulte a seção de Recursos para obter informações sobre os conectores com suporte. Consulte os tópicos específicos do conector para obter detalhes sobre a sintaxe do conjunto de dados. | Sim |
formatSettings | Aplicar ao usar o tipo de formato do conjuntos de dados. | Não |
storeSettings | Aplicar ao usar o tipo de formato do conjuntos de dados. | No |
Saída de exemplo
Os resultados da obtenção de metadados são mostrados na saída da atividade. A seguir temos dois exemplos que mostram opções extensivas de metadados. Para usar os resultados em uma atividade subsequente, use este padrão: @{activity('MyGetMetadataActivity').output.itemName}
.
Obter metadados de um arquivo
{
"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"
}
]
}
Conteúdo relacionado
Saiba como sobre outras atividades de fluxo de controle compatíveis: