在复制活动中配置 Oracle 云存储

本文概述了如何使用数据管道中的复制活动从 Oracle 云存储复制数据。

先决条件

若要从 Oracle 云存储复制数据,请参阅对象存储 Amazon S3 兼容性 API,了解先决条件和所需权限。

支持的格式

Oracle 云存储支持以下文件格式。 请参阅每一篇介绍基于格式的设置的文章。

支持的配置

有关复制活动上每个选项卡的配置,请转到以下部分:

常规

对于“常规”选项卡配置,请转到“常规”。

Source

复制活动的“”选项卡上的 Oracle 云存储支持以下属性。

显示“源”选项卡和属性列表的屏幕截图。

需要以下属性:

  • 数据存储类型:选择“外部”。

  • 连接:从连接列表中选择“Oracle 云存储”连接。 如果不存在连接,请选择“新建”来创建新的 Oracle 云存储连接。

  • 文件路径类型:可以选择“文件路径”、“前缀”、“通配符文件路径”或“文件列表”作为文件路径类型。 其中每个设置的配置为:

    • 文件路径:可以从“文件路径”中指定的给定存储桶或文件夹/文件路径复制数据。

    • 前缀:指定存储桶前缀

      • 存储桶:指定 Oracle 云存储存储桶名称。 这是必需的。

      • 前缀:给定存储桶下的 Oracle 云存储键名称的前缀,用于筛选源 Oracle 云存储文件。 选择名称以 given_bucket/this_prefix 开头的 Oracle 云存储密钥。 它利用 Oracle 云存储的服务端筛选器,相比通配符筛选器,服务端筛选器可提供更好的性能。

        显示如何配置前缀文件路径类型的屏幕截图。

    • 通配符文件路径:指定存储桶通配符路径

      • 存储桶:指定 Oracle 云存储存储桶名称。 这是必需的。

      • 通配符路径:在指定的存储桶下使用通配符指定文件夹或文件路径,以筛选源文件夹或文件。

        允许的通配符为*(匹配零个或零个以上的字符)和 ?(匹配零个或单个字符)。 如果文件夹名内包含通配符或此转义字符,请使用 ^ 进行转义。 如需更多示例,请转到文件夹和文件筛选器示例

        显示如何配置通配符文件路径的屏幕截图。

        • 通配符文件夹路径:在指定的存储桶下使用通配符指定文件夹路径,以筛选源文件夹。
        • 通配符文件名:在指定的存储桶和文件夹路径(或通配符文件夹路径)下使用通配符指定文件名,以筛选源文件。
    • 文件列表:指定“文件夹路径”和“文件列表路径”,以指示复制指定的文件集。 指向包含要复制的文件列表的文本文件,其中每行一个文件(即配置路径的相对路径)。 如需更多示例,请转到文件列表示例

      显示如何配置文件列表的屏幕截图。

      • 文件夹路径:在指定的存储桶下指定文件夹的路径。 这是必需的。
      • 文件列表路径:指定包含要复制的文件列表的文本文件的路径。
  • 递归:指示是要从子文件夹中以递归方式读取数据,还是只从指定的文件夹中读取数据。 选中此复选框,并且目的地是基于文件的存储时,不会在目的地上复制或创建空的文件夹或子文件夹。

  • 文件格式:从下拉列表中选择应用的文件格式。 选择“设置”以配置文件格式。 有关不同文件格式的设置,请参阅支持的格式中的文章。

在“高级”下,可以指定以下字段:

  • 按上次修改时间筛选:根据指定的上次修改日期筛选文件。 将文件路径类型配置为文件列表时,此属性不适用。

    • 开始时间(UTC):如果文件的上次修改时间不早于配置的时间,则会选择这些文件。
    • 结束时间(UTC):如果文件的上次修改时间早于配置的时间,则选择这些文件。

    如果“开始时间(UTC)”具有日期/时间值,但“结束时间(UTC)”为 NULL,则意味着将选中“上次修改时间”属性不早于该日期/时间值的文件。 如果“结束时间(UTC)”具有日期/时间值,但“开始时间(UTC)”为 NULL,则意味着将选中“上次修改时间”属性早于该日期/时间值的文件。 属性可以为 NULL,这意味着不向数据应用任何文件属性筛选器。

  • 启用分区发现:指定是否从文件路径分析分区,并将它们添加为其他源列。 默认情况下不会选中它,使用二进制文件格式时也不支持它。

    • 分区根路径:当启用了分区发现时,请指定绝对根路径,以将已分区文件夹读取为数据列。

      如果未指定,默认情况下:

      • 在源上使用文件路径或文件列表时,分区根路径是你已配置的路径。
      • 使用通配符文件夹筛选器时,分区根路径是第一个通配符前的子路径。
      • 在使用前缀时,分区根路径是最后一个“/”前的子路径。

      例如,假设将路径配置为 root/folder/year=2020/month=08/day=27

      • 如果将分区根路径指定为 root/folder/year=2020,则复制活动将生成另外两列:月和日。 除了文件中的列之外,这些列的值分别为“08”和“27”。
      • 如果未指定分区根路径,则不会生成额外列。

      显示“启用分区发现”的屏幕截图。

  • 最大并发连接:活动运行期间与数据存储建立的并发连接的上限。 仅在要限制并发连接时指定一个值。

  • 其他列:添加更多数据列以存储源文件的相对路径或静态值。 后者支持表达式。

映射

对于“映射”选项卡配置,请参阅在“映射”选项卡下配置映射。如果选择“二进制”作为文件格式,则不支持映射。

设置

对于“设置”选项卡配置,请参阅在“设置”选项卡下配置其他设置

表摘要

下表包含有关 Oracle 云存储中的复制活动的更多信息。

源信息

Name 描述 必需 JSON 脚本属性
数据存储类型 你的数据存储类型。 外部 /
Connection 与源数据存储的连接。 <Oracle 云存储连接> 连接
文件路径类型 用于获取源数据的文件路径类型。 文件路径
• 前缀
通配符文件路径
文件列表
/
对于文件路径
Bucket Oracle 云存储桶名称。 你的 Bucket 名称<> bucketName
Directory 指定的 Bucket 下的文件夹路径。 <你的文件夹名称> folderpath
文件名 指定的 Bucket 和文件夹路径下的文件名。 <你的文件名> fileName
对于前缀
Bucket Oracle 云存储桶名称。 你的 Bucket 名称<> bucketName
Prefix 指定存储桶下的 Oracle 云存储键名称的前缀,用于筛选源 Oracle 云存储文件。 你的前缀<> prefix
对于通配符文件路径
Bucket Oracle 云存储桶名称。 你的 Bucket 名称<> bucketName
通配符文件夹路径 指定的 Bucket 下包含通配符的文件夹路径,用于筛选源文件夹。 <你的包含通配符的文件夹路径> wildcardFolderPath
通配符文件名 指定的 Bucket 和文件夹路径(或通配符文件夹路径)下包含通配符的文件名,用于筛选源文件。 <你的包含通配符的文件名> wildcardFileName
对于文件列表
Bucket Oracle 云存储桶名称。 你的 Bucket 名称<> bucketName
Directory 指定的 Bucket 下的文件夹路径。 <你的文件夹名称> folderpath
文件列表的路径 表示要复制指定文件集。 指向包含要复制的文件列表的文本文件,每行一个文件。 <文件列表路径> fileListPath
文件格式 源数据的文件格式。 有关不同文件格式的信息,请参阅支持的格式中的文章。 / /
Recursively 指示是要从子文件夹中以递归方式读取数据,还是只从指定的文件夹中读取数据。 选中此复选框,并且目的地是基于文件的存储时,不会在目的地上复制或创建空的文件夹或子文件夹。 已选择(默认)或未选择 recursive
按上次修改时间筛选 将筛选在 [Start time, End time) 范围内具有上次修改时间的文件,以便进一步处理。 该时间将以 yyyy-mm-ddThh:mm:ss.fffZ 格式应用于 UTC 时区。 可以跳过这些属性,这意味着不会应用任何文件属性筛选器。 将文件路径类型配置为文件列表时,此属性不适用。 datetime modifiedDatetimeStart
modifiedDatetimeEnd
启用分区发现 指示是否从文件路径分析分区,并将它们添加为其他源列。 选中或未选中(默认) enablePartitionDiscovery:
true 或 false(默认)
分区根路径 启用分区发现时,请指定绝对根路径,以将已分区文件夹读取为数据列。 <你的分区根路径> partitionRootPath
最大并发连接数 活动运行期间与数据存储建立的并发连接的上限。 仅在要限制并发连接时指定一个值。 <最大并发连接数> maxConcurrentConnections
其他列 添加其他数据列以存储源文件的相对路径或静态值。 后者支持表达式。 • 姓名
• 值
additionalColumns:
• 名称
• 值