Preservar metadados e ACLs utilizando a atividade de cópia na Azure Data Factory ou na Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Quando utilizar os oleodutos Azure Data Factory ou Synapse Analytics copia a atividade para copiar dados de origem para afundar, nos seguintes cenários, também pode preservar os metadados e ACLs junto.

Preservar metadados para a migração de lagos

Quando migrar dados de um lago de dados para outro, incluindo Amazon S3, Azure Blob, Azure Data Lake Armazenamento Gen2, e Azure Files, pode optar por preservar os metadados de ficheiros juntamente com dados.

A atividade de cópia suporta a preservação dos seguintes atributos durante a cópia de dados:

  • Todos os metadados especificados pelo cliente
  • E as seguintes cinco propriedades do sistema de armazenamento de dados incorporadas : contentType , contentLanguage (exceto o Amazon S3), contentEncoding , contentDisposition cacheControl .

Lidar com diferenças nos metadados: A Amazon S3 e a Azure Armazenamento permitem diferentes conjuntos de caracteres nas teclas dos metadados especificados pelo cliente. Quando opta por preservar metadados utilizando a atividade de cópia, o serviço substitui automaticamente os caracteres inválidos por '_'.

Quando copia ficheiros como é do Amazon S3/Azure Data Lake Armazenamento Gen2/Azure Blob storage/Azure Files to Azure Data Lake Armazenamento Gen2/Azure Blob storage/Azure Files com formato binário, pode encontrar a opção Preserve no separador Definições de Designação > de Atividades para autoria de atividades ou na página Definições na Ferramenta de Dados de Cópia.

Copiar atividade preservar metadados

Aqui está um exemplo de configuração JSON de atividade de cópia preserve (ver):

"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 de Data Lake Armazenamento Gen1/Gen2 a Gen2

Ao atualizar de Azure Data Lake Armazenamento Gen1 para Gen2 ou copiar dados entre a ADLS Gen2, pode optar por preservar as listas de controlo de acessos POSIX (ACLs) juntamente com ficheiros de dados. Para obter mais informações sobre o controlo de acessos, consulte o controlo de acesso no Lago de Dados Azure Armazenamento Gen1 e o controlo de acesso em Azure Data Lake Armazenamento Gen2.

A atividade de cópia suporta a preservação dos seguintes tipos de ACLs durante a cópia de dados. Pode selecionar um ou mais tipos:

  • ACL: Copiar e preservar listas de controlo de acesso POSIX em ficheiros e diretórios. Copia todos os ACLs existentes de fonte para afundar.
  • Proprietário: Copiar e preservar o utilizador próprio de ficheiros e diretórios. É necessário aceder ao Super-utilizador ao Lago de Dados Armazenamento Gen2.
  • Grupo: Copiar e preservar o grupo de ficheiros e diretórios. É necessário o acesso do super utilizador ao Sink Data Lake Armazenamento Gen2 ou ao utilizador próprio (se o utilizador próprio também for membro do grupo-alvo).

Se especificar para copiar a partir de uma pasta, o serviço replica os ACLs para essa pasta dada e os ficheiros e diretórios sob a sua recursive designação, se for definido como verdadeiro. Se especificar para copiar a partir de um único ficheiro, os ACLs desse ficheiro são copiados.

Nota

Quando utilizar a atividade de cópia para preservar os ACLs de Data Lake Armazenamento Gen1/Gen2 para Gen2, os ACLs existentes na pasta/ficheiros correspondentes da Gen2 serão substituídos.

Importante

Quando optar por preservar acLs, certifique-se de que concede permissões suficientemente elevadas para que o serviço opere contra a sua conta de Data Lake Armazenamento Gen2. Por exemplo, utilize a autenticação da chave de conta ou atribua a função de Proprietário de Dados blob Armazenamento ao titular do serviço ou identidade gerida.

Quando configurar a fonte como Data Lake Armazenamento Gen1/Gen2 com formato binário ou a opção de cópia binária, e afundar como Data Lake Armazenamento Gen2 com formato binário ou a opção de cópia binária, pode encontrar a opção Preserve na página Definições na Ferramenta de Dados de Cópia ou no separador Definições de Atividade de Cópia para > autoria de atividades.

Data Lake Armazenamento Gen1/Gen2 para Gen2 Preserve ACL

Aqui está um exemplo de configuração JSON de atividade de cópia preserve (ver):

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

Passos seguintes

Consulte os outros artigos de Atividade de Cópia: