Preservar metadados e ACLs usando a atividade Copy no Azure Data Factory ou 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!
Quando você usa a atividade cópia dos pipelines do Azure Data Factory ou Synapse Analytics para copiar dados da origem para o coletor, nos cenários a seguir, você também pode preservar os metadados e as ACLs.
Preservar metadados para a migração do lake
Ao migrar dados de um data lake para outro, incluindo o Amazon S3, o Armazenamento de Blobs do Azure, o Azure Data Lake Storage Gen2 e os Arquivos do Azure, você pode preservar os metadados do arquivo junto com os dados.
A atividade Copy dá suporte à preservação dos seguintes atributos durante a cópia de dados:
- Todos os metadados especificados pelo cliente
- E as cinco propriedades de sistema interno do armazenamento de dados a seguir:
contentType
,contentLanguage
(com exceção do Amazon S3),contentEncoding
,contentDisposition
,cacheControl
.
Lidar com diferenças nos metadados: o Amazon S3 e o Armazenamento do Microsoft Azure permitem conjuntos diferentes de caracteres nas chaves de metadados especificados pelo cliente. Quando você opta por preservar metadados usando a atividade Copy, o serviço substitui automaticamente os caracteres inválidos por '_'.
Quando você copia arquivos no estado em que se encontram do Amazon S3/Azure Data Lake Storage Gen2/Armazenamento de Blobs do Azure/Arquivos do Azure no Azure Data Lake Storage Gen2/Armazenamento de Blobs do Azure/Arquivos do Azure com formato binário, há a opção Preservar na guia Copiar Atividade>Configurações para a criação de atividade ou a página Configurações na ferramenta Copiar Dados.
Aqui está um exemplo de configuração de JSON da atividade Copy (confira preserve
):
"activities":[
{
"name": "CopyAndPreserveMetadata",
"type": "Copy",
"typeProperties": {
"source": {
"type": "BinarySource",
"storeSettings": {
"type": "AmazonS3ReadSettings",
"recursive": true
}
},
"sink": {
"type": "BinarySink",
"storeSettings": {
"type": "AzureBlobFSWriteSettings"
}
},
"preserve": [
"Attributes"
]
},
"inputs": [
{
"referenceName": "<Binary dataset Amazon S3/Azure Blob/ADLS Gen2 source>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Binary dataset for Azure Blob/ADLS Gen2 sink>",
"type": "DatasetReference"
}
]
}
]
Preservar ACLs do Data Lake Storage Gen1/Gen2 para Gen2
Ao atualizar do Azure Data Lake Storage Gen1 para Gen2, ou ao copiar dados entre ADLS Gen2, você pode optar por preservar as access control lists (ACLs – listas de controle de acesso) do POSIX junto com os dados. Para mais informações sobre controle de acesso, confira Controle de acesso no Azure Data Lake Storage Gen1 e Controle de acesso no Azure Data Lake Storage Gen2.
A atividade Copy dá suporte à preservação dos seguintes tipos de ACLs durante a cópia de dados. Você pode selecionar um ou mais tipos:
- ACL: copie e preserve listas de controle de acesso POSIX em arquivos e diretórios. Ele copia as ACLs completas existentes da origem para o coletor.
- Proprietário: copie e preserve o usuário proprietário de arquivos e diretórios. O acesso de superusuário ao Data Lake Storage Gen2 de coletor é necessário.
- Grupo: copie e preserve o grupo proprietário de arquivos e diretórios. É necessário o acesso de superusuário ao coletor Data Lake Storage Gen2 ou ao usuário proprietário (se o usuário proprietário também for um membro do grupo de destino).
Se você especifica para copiar de uma pasta, o serviço replica as ACLs para aquela pasta especificada, além dos arquivos e diretórios relacionados à ela, se recursive
for definido como true. Se você especifica para copiar de um único arquivo, as ACLs nesse arquivo serão copiadas.
Observação
Quando você usa a atividade da cópia para preservar ACLs do Data Lake Storage Gen1/Gen2 para o Gen2, as ACLs existentes nas pastas/arquivos correspondentes do Gen2 do coletor serão substituídas.
Importante
Ao optar por preservar as ACLs, certifique-se de conceder permissões altas o suficiente para o serviço operar na conta do Data Lake Storage Gen2 do coletor. Por exemplo, use a autenticação de chave de conta ou atribua a função de proprietário de dados do blob de armazenamento à entidade de serviço ou à identidade gerenciada.
Quando você configura a origem como Data Lake Storage Gen1/Gen2 com o formato binário ou a opção de cópia binária e o coletor como Data Lake Storage Gen2 com formato binário ou a opção de cópia binária, você pode encontrar a opção Preservar na página Configurações na Ferramenta Copiar Dados ou na guia Configurações>da atividade Copy para a criação de atividades.
Aqui está um exemplo de configuração de JSON da atividade Copy (confira preserve
):
"activities":[
{
"name": "CopyAndPreserveACLs",
"type": "Copy",
"typeProperties": {
"source": {
"type": "BinarySource",
"storeSettings": {
"type": "AzureDataLakeStoreReadSettings",
"recursive": true
}
},
"sink": {
"type": "BinarySink",
"storeSettings": {
"type": "AzureBlobFSWriteSettings"
}
},
"preserve": [
"ACL",
"Owner",
"Group"
]
},
"inputs": [
{
"referenceName": "<Binary dataset name for Azure Data Lake Storage Gen1/Gen2 source>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Binary dataset name for Azure Data Lake Storage Gen2 sink>",
"type": "DatasetReference"
}
]
}
]
Conteúdo relacionado
Consulte os outros artigos sobre atividade de cópia: