灵活的文件源

适用于:SQL ServerAzure 数据工厂中的 SSIS Integration Runtime

借助“灵活的文件源”组件,SSIS 包可读取各种受支持存储服务中的数据。 当前支持的存储服务为

要查看“灵活的文件源”的编辑器,请将“灵活的文件源”拖放到数据流设计器上,然后双击它打开编辑器

“灵活的文件源”是适用于 Azure 的 SQL Server Integration Services (SSIS) 功能包的组成部分

“灵活的文件源编辑器”上提供了以下属性

  • 文件连接管理器类型: 指定源连接管理器类型。 然后,从指定的类型中选择一个现成的或新建一个。
  • 文件夹路径: 指定源文件夹路径。
  • 文件名: 指定源文件名称。
  • 文件格式: 指定源文件格式。 支持格式为 Text、Avro、ORC 和 Parquet。 ORC/Parquet 需要 Java。 有关详细信息,请参阅 Java 上的依赖关系
  • 列分隔符字符: 指定用作列分隔符的字符(不支持多字符分隔符)。
  • 作为列名称的第一行: 指定是否将第一行视为列名称。
  • 将文件解压缩: 指定是否将源文件解压缩。
  • 压缩类型: 指定源文件的压缩格式。 支持格式为 GZIP、DEFLATE 和 BZIP2

“高级编辑器”上提供了以下属性

  • rowDelimiter: 用于分隔文件中的行的字符。 只能使用一个字符。 默认值为 \r\n
  • escapeChar: 用于转义输入文件内容中的列分隔符的特殊字符。 不能同时指定表的 escapeChar 和 quoteChar。 只能使用一个字符。 没有默认值。
  • quoteChar: 将字符串值用引号括起来的字符。 引号字符内的列和行分隔符将被视为字符串值的一部分。 此属性适用于输入和输出数据集。 不能同时指定表的 escapeChar 和 quoteChar。 只能使用一个字符。 没有默认值。
  • nullValue: 用于表示 null 值的一个或多个字符。 默认值为 \N
  • encodingName: 指定编码名称。 请参阅 Encoding.EncodingName 属性。
  • skipLineCount:指示从输入文件读取数据时要跳过的非空行数。 如果同时指定了 skipLineCount 和 firstRowAsHeader,则先跳过行,然后从输入文件读取标头信息。
  • treatEmptyAsNull: 指定是否在从输入文件读取数据时将 null 或空字符串视为 null 值。 默认值为 True。

指定连接信息后,切换到“列”页,将源列映射到 SSIS 数据流的目标列。

有关服务主体权限配置的说明

要使“测试连接”起作用(Blob 存储或 Data Lake Storage Gen2),应向服务主体分配至少存储帐户的“存储 Blob 数据读取器”角色 。 可通过 RBAC 实现。

对于 Blob 存储,通过分配至少“存储 Blob 数据读取器”角色来授予读取权限

对于 Data Lake Storage Gen2,权限由 RBAC 和 ACL 共同决定。 请注意,ACL 是使用应用注册的服务主体的对象 ID (OID) 配置的。 请参阅 如何为服务主体正确设置 ACL? 这不同于用于 RBAC 配置的应用程序(客户端)ID。 通过内置角色或自定义角色向安全主体授予 RBAC 数据权限时,将首先根据请求的授权来评估这些权限。 如果请求的操作已获得安全主体的 RBAC 分配的授权,则授权会立即得到解决,且不会执行任何其他 ACL 检查。 或者,如果安全主体没有 RBAC 分配,或请求的操作与分配的权限不匹配,则会执行 ACL 检查来确定是否已授权安全主体执行请求的操作。 对于读取权限,请从源文件系统开始授予至少“执行”权限,并授予要读取的文件的“读取”权限。 或者,通过 RBAC 授予至少“存储 Blob 数据读取器”角色 。 有关详细信息,请参阅文章。