Azure 数据工厂中的二进制格式

适用于: Azure 数据工厂

以下连接器支持二进制格式:Amazon S3Amazon S3 兼容存储Azure BlobAzure Data Lake Storage Gen2Azure 文件存储文件系统FTPGoogle 云存储HDFSHTTPOracle 云存储SFTP

可以在 Copy 活动GetMetadata 活动Delete 活动中使用二进制数据集。 使用二进制数据集时,服务不会分析文件内容,而是将其按原样处理。

备注

在复制活动中使用二进制数据集时,只能从二进制数据集复制到二进制数据集。

数据集属性

有关可用于定义数据集的各部分和属性的完整列表,请参阅数据集一文。 本部分提供二进制数据集支持的属性列表。

属性 说明 必需
type 数据集的 type 属性必须设置为 Binary
location 文件的位置设置。 每个基于文件的连接器在 location 下都有其自己的位置类型和支持的属性。 请在连接器文章 -> 数据集属性部分中查看详细信息
compression 用来配置文件压缩的属性组。 如果需要在活动执行期间进行压缩/解压缩,请配置此部分。
type 用于读取/写入二进制文件的压缩编解码器。
允许的值为 bzip2、gzip、deflate、ZipDeflate、Tar 或 TarGzip 。
请注意,使用复制活动解压缩 ZipDeflate/TarGzip/Tar 文件并将其写入基于文件的接收器数据存储时,默认情况下文件将提取到 <path specified in dataset>/<folder named as source compressed file>/ 文件夹,对复制活动源使用 preserveZipFileNameAsFolder/preserveCompressionFileNameAsFolder 来控制是否以文件夹结构形式保留压缩文件名 。
level 压缩率。 在 Copy 活动接收器中使用数据集时应用。
允许的值为 OptimalFastest
- Fastest:尽快完成压缩操作,不过,无法以最佳方式压缩生成的文件。
- Optimal:以最佳方式完成压缩操作,不过,需要耗费更长的时间。 有关详细信息,请参阅 Compression Level(压缩级别)主题。

下面是 Azure Blob 存储上的二进制数据集的示例:

{
    "name": "BinaryDataset",
    "properties": {
        "type": "Binary",
        "linkedServiceName": {
            "referenceName": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "container": "containername",
                "folderPath": "folder/subfolder",
            },
            "compression": {
                "type": "ZipDeflate"
            }
        }
    }
}

复制活动属性

有关可用于定义活动的各部分和属性的完整列表,请参阅管道一文。 本部分提供二进制源和接收器支持的属性列表。

备注

在复制活动中使用二进制数据集时,只能从二进制数据集复制到二进制数据集。

二进制文件作为源

复制活动的 *source* 节支持以下属性。

属性 说明 必需
type 复制活动源的 type 属性必须设置为 BinarySource
formatSettings 一组属性。 请参阅下面的“二进制读取设置”表。
storeSettings 有关如何从数据存储读取数据的一组属性。 每个基于文件的连接器在 storeSettings 下都有其自己支持的读取设置。 请在连接器文章 -> 复制活动属性部分中查看详细信息

formatSettings 下支持的“二进制读取设置”:

属性 说明 必需
type formatSettings 的 type 必须设置为“BinaryReadSettings”。
compressionProperties 一组属性,指示如何为给定的压缩编解码器解压缩数据。
preserveZipFileNameAsFolder
(在 compressionProperties->type 下为 ZipDeflateReadSettings
当输入数据集配置了 ZipDeflate 压缩时适用。 指示是否在复制过程中以文件夹结构形式保留源 zip 文件名。
- 当设置为“true (默认值)”时,服务会将未解压缩的文件写入 <path specified in dataset>/<folder named as source zip file>/
- 如果设置为“false”,服务会将解压缩的文件直接写入 <path specified in dataset>。 请确保不同的源 zip 文件中没有重复的文件名,以避免产生冲突或出现意外行为。
preserveCompressionFileNameAsFolder
(在 compressionProperties->type 下为 TarGZipReadSettingsTarReadSettings
当输入数据集配置了 TarGzip/Tar 压缩时适用 。 指示是否在复制过程中以文件夹结构形式保留源压缩文件名。
- 如果设置为“true(默认)”,服务会将解压缩文件写入 <path specified in dataset>/<folder named as source compressed file>/
- 如果设置为“false”,服务会将解压文件直接写入 <path specified in dataset>。 请确保不同的源文件中没有重复的文件名,以避免产生冲突或出现意外行为。
"activities": [
    {
        "name": "CopyFromBinary",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "BinarySource",
                "storeSettings": {
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true,
                    "deleteFilesAfterCompletion": true
                },
                "formatSettings": {
                    "type": "BinaryReadSettings",
                    "compressionProperties": {
                        "type": "ZipDeflateReadSettings",
                        "preserveZipFileNameAsFolder": false
                    }
                }
            },
            ...
        }
        ...
    }
]

二进制文件作为接收器

复制活动的 *sink* 节支持以下属性。

属性 说明 必需
type 复制活动源的 type 属性必须设置为 BinarySink
storeSettings 有关如何将数据写入到数据存储的一组属性。 每个基于文件的连接器在 storeSettings 下都有其自身支持的写入设置。 请在连接器文章 -> 复制活动属性部分中查看详细信息

后续步骤