Compartilhar via

在 Azure 数据工厂 或 Synapse Analytics 中使用复制操作保留元数据和 ACL

适用于: Azure 数据工厂 Azure Synapse Analytics

当您使用 Azure 数据工厂 或 Synapse Analytics 管道复制活动将数据从源复制到接收器时,在以下情况中,还可以保留元数据和 ACL 一起。

保留数据湖迁移的元数据

将数据从一个数据湖迁移到另一个数据湖(包括 Amazon S3Azure blobAzure Data Lake Storage Gen2Azure 文件存储,可以选择保留文件元数据和数据。

复制活动支持在数据复制期间保留以下属性:

  • 所有客户指定的元数据
  • 以及以下五个数据存储内置系统属性: (Amazon S3 除外)、contentTypecontentLanguagecontentEncodingcontentDispositioncacheControl

处理元数据的差异: Amazon S3 和 Azure 存储 允许在客户指定的元数据密钥中使用不同的字符集。 选择使用复制活动保留元数据时,服务会自动将无效字符替换为“_”。

将文件原样从 Amazon S3/Azure Data Lake Storage Gen2/Azure Blob 存储/Azure 文件存储 复制到 Azure Data Lake Storage Gen2/Azure Blob 存储/Azure 文件存储 时,使用二进制格式时,可以在 Copy ActivitySettings 选项卡中的活动创作设置或在复制数据工具的 Settings 页面中找到 Preserve 选项。

复制活动保留元数据

下面是复制活动 JSON 配置的示例(请参阅 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"
            }
        ]
    }
]

请参阅有关复制活动的其他文章: