ObjectConditions

用于确定要转移的对象的条件。仅适用于 S3、Azure 和 Cloud Storage 等云数据源。

“上次修改时间”是指上次更改对象内容或元数据的时间,具体而言,这是 Cloud Storage 对象的 updated 属性、S3 对象的 LastModified 字段和 Azure Blob 的 Last-Modified 标头。

使用 PosixFilesystem 作为来源或目标的传输不支持 ObjectConditions

JSON 表示法
{
  "minTimeElapsedSinceLastModification": string,
  "maxTimeElapsedSinceLastModification": string,
  "includePrefixes": [
    string
  ],
  "excludePrefixes": [
    string
  ],
  "lastModifiedSince": string,
  "lastModifiedBefore": string
}
字段
minTimeElapsedSinceLastModification

string (Duration format)

确保在“上次修改时间”之后经过特定的最短时间之前,不会传输对象。TransferOperation 开始时,只有当 TransferOperationstartTime 与对象的“上次修改时间”之间的经过时间等于或大于 minTimeElapsedSinceLastModification 的值时,系统才会传输具有“上次修改时间”的对象。系统也会传输没有“上次修改时间”的对象。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

maxTimeElapsedSinceLastModification

string (Duration format)

确保在“上次修改时间”之后经过特定的最大时间后,系统不会转移对象。TransferOperation 开始时,只有在 TransferOperationstartTime 和对象的“上次修改时间”之间的经过时间小于 `maxTimeElapsedSinceLastModification` 的值时,系统才会传输具有“上次修改时间”的对象。系统也会传输没有“上次修改时间”的对象。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

includePrefixes[]

string

如果您指定 includePrefixes,Storage Transfer Service 会使用 includePrefixes 数组中的项来确定要包含在转移中的对象。对象必须以匹配的 includePrefixes 之一开头,才能包含在转移中。如果指定了 excludePrefixes,则对象不得以任何要包含在转移中的指定 excludePrefixes 开头。

以下是 includePrefixes 的要求:

  • 每个 include 前缀可以包含 Unicode 字符的任意序列,采用 UTF8 编码时,长度不得超过 1024 字节,并且不得包含回车符或换行符。不支持通配符匹配和正则表达式匹配。

  • 每个 include 前缀都必须省略开头的斜线。例如,如需包含对象 s3://my-aws-bucket/logs/y=2015/requests.gz,请将包含前缀指定为 logs/y=2015/requests.gz

  • 所有 include-prefix 值都不能为空(如果指定)。

  • 每个 include-prefix 都必须包含对象命名空间的不同部分。任何 include-prefix 都不能是另一个 include-prefix 的前缀。

includePrefixes 的大小上限为 1000。

如需了解详情,请参阅过滤转移作业中的对象

excludePrefixes[]

string

如果您指定 excludePrefixes,Storage Transfer Service 会使用 excludePrefixes 数组中的项来确定要从转移中排除哪些对象。对象不得以匹配的 excludePrefixes 之一开头,才能包含在转移中。

以下是 excludePrefixes 的要求:

  • 每个排除前缀可以包含任何 Unicode 字符序列(采用 UTF8 编码时,长度不得超过 1024 字节),并且不得包含回车符或换行符。不支持通配符匹配和正则表达式匹配。

  • 每个排除前缀都必须省略开头的斜线。例如,如需排除对象 s3://my-aws-bucket/logs/y=2015/requests.gz,请将排除前缀指定为 logs/y=2015/requests.gz

  • 排除前缀值(如果指定)不得为空。

  • 每个排除前缀都必须排除对象命名空间的不同部分。任何 exclude-prefix 都不能是另一个 exclude-prefix 的前缀。

  • 如果指定了 includePrefixes,则每个排除前缀都必须以 includePrefixes 明确包含的路径的值开头。

excludePrefixes 的大小上限为 1000。

如需了解详情,请参阅过滤转移作业中的对象

lastModifiedSince

string (Timestamp format)

如果指定了此时间戳,则系统只会传输“最后修改时间”在该时间戳或之后的对象,以及没有“最后修改时间”的对象。

lastModifiedSincelastModifiedBefore 字段可结合使用,以进行分块数据处理。例如,假设有一个脚本一次处理一天的数据。为此,您需要按如下方式设置每个字段:

  • lastModifiedSince 到当天开始时间

  • lastModifiedBefore 到当天结束

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

lastModifiedBefore

string (Timestamp format)

如果指定了此时间戳,则系统只会转移“上次修改时间”早于此时间戳的对象以及没有“上次修改时间”的对象。

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"