TransferOptions

TransferOptions 用于定义要对传输中的对象执行的操作。

JSON 表示法
{
  "overwriteObjectsAlreadyExistingInSink": boolean,
  "deleteObjectsUniqueInSink": boolean,
  "deleteObjectsFromSourceAfterTransfer": boolean,
  "overwriteWhen": enum (OverwriteWhen),
  "metadataOptions": {
    object (MetadataOptions)
  }
}
字段
overwriteObjectsAlreadyExistingInSink

boolean

何时覆盖接收器中已存在的对象。默认情况下,系统只会覆盖与来源不同的对象。如果为 true,则接收器中名称与来源中对象匹配的所有对象都会被来源对象覆盖。

deleteObjectsUniqueInSink

boolean

是否应删除仅存在于接收器中的对象。

注意:此选项与 deleteObjectsFromSourceAfterTransfer 是互斥的。

deleteObjectsFromSourceAfterTransfer

boolean

在对象传输到接收器后,是否应从来源中删除这些对象。

注意:此选项与 deleteObjectsUniqueInSink 是互斥的。

overwriteWhen

enum (OverwriteWhen)

何时覆盖接收器中已存在的对象。如果未设置,则由 overwriteObjectsAlreadyExistingInSink 决定覆盖行为。

metadataOptions

object (MetadataOptions)

表示转移作业的所选元数据选项。

OverwriteWhen

指定在来源中找到名称匹配的对象时,何时覆盖接收器中的对象。

枚举
OVERWRITE_WHEN_UNSPECIFIED 未指定覆盖行为。
DIFFERENT 仅当对象具有相同的名称但不同的 HTTP ETag 或校验和值时,才会使用源对象覆盖目标对象。
NEVER 如果源对象与目标对象同名,则永远不会覆盖目标对象。在这种情况下,系统不会转移源对象。
ALWAYS 始终使用来源对象覆盖目标对象,即使 HTTP ETag 或校验和值相同也是如此。

MetadataOptions

指定用于运行传输的元数据选项。

JSON 表示法
{
  "symlink": enum (Symlink),
  "mode": enum (Mode),
  "gid": enum (GID),
  "uid": enum (UID),
  "acl": enum (Acl),
  "storageClass": enum (StorageClass),
  "temporaryHold": enum (TemporaryHold),
  "kmsKey": enum (KmsKey),
  "timeCreated": enum (TimeCreated)
}
字段
mode

enum (Mode)

指定传输应如何处理每个文件的 mode 属性。默认情况下,系统不会保留模式。仅适用于涉及 POSIX 文件系统的转移,其他转移会忽略此选项。

gid

enum (GID)

指定传输应如何处理每个文件的 POSIX 群组 ID (GID) 属性。默认情况下,系统不会保留 GID。仅适用于涉及 POSIX 文件系统的转移,其他转移会忽略此选项。

uid

enum (UID)

指定转移操作应如何处理每个文件的 POSIX 用户 ID (UID) 属性。默认情况下,系统不会保留 UID。仅适用于涉及 POSIX 文件系统的转移,其他转移会忽略此选项。

acl

enum (Acl)

指定应如何保留每个对象的 ACL,以便在 Google Cloud Storage 存储分区之间进行转移。如果未指定,则默认行为与 ACL_DESTINATION_BUCKET_DEFAULT 相同。

storageClass

enum (StorageClass)

指定要为传输到 Google Cloud Storage 存储分区的对象设置的存储类别。如果未指定,默认行为与 STORAGE_CLASS_DESTINATION_BUCKET_DEFAULT 相同。

temporaryHold

enum (TemporaryHold)

指定应如何在 Google Cloud Storage 存储分区之间转移时保留每个对象的临时保留状态。如果未指定,默认行为与 TEMPORARY_HOLD_PRESERVE 相同。

kmsKey

enum (KmsKey)

指定如何保留每个对象的 Cloud KMS 客户管理的加密密钥 (CMEK),以便在 Google Cloud Storage 存储分区之间进行转移。如果未指定,默认行为与 KMS_KEY_DESTINATION_BUCKET_DEFAULT 相同。

timeCreated

enum (TimeCreated)

指定如何为转移保留每个对象的 timeCreated 元数据。如果未指定,默认行为与 TIME_CREATED_SKIP 相同。从 Cloud Storage、Amazon S3、兼容 S3 的存储空间和 Azure 来源向 Cloud Storage 存储分区进行转移时,此行为受支持。

模式

用于处理文件模式属性的选项。

枚举
MODE_UNSPECIFIED 模式行为未指定。
MODE_SKIP 在转移作业期间,请勿保留模式。
MODE_PRESERVE 转移作业期间的保留模式。

GID

用于处理文件 GID 属性的选项。

枚举
GID_UNSPECIFIED GID 行为未指定。
GID_SKIP 在转移作业期间,请勿保留 GID。
GID_NUMBER 在转移作业期间保留 GID。

UID

用于处理文件 UID 属性的选项。

枚举
UID_UNSPECIFIED UID 行为未指定。
UID_SKIP 请勿在转移作业期间保留 UID。
UID_NUMBER 在转移作业期间保留 UID。

Acl

用于处理 Cloud Storage 对象 ACL 的选项。

枚举
ACL_UNSPECIFIED ACL 行为未指定。
ACL_DESTINATION_BUCKET_DEFAULT 使用目的地存储分区的默认对象 ACL(如果适用)。
ACL_PRESERVE 保留对象的原始 ACL。这需要服务账号拥有源对象的 storage.objects.getIamPolicy 权限。源存储分区或目标存储分区不得启用统一存储分区级访问权限

StorageClass

用于处理 Google Cloud Storage 对象存储类的选项。

枚举
STORAGE_CLASS_UNSPECIFIED 存储类别行为未指定。
STORAGE_CLASS_DESTINATION_BUCKET_DEFAULT 使用目的地存储分区的默认存储类别。
STORAGE_CLASS_PRESERVE 保留对象的原始存储类别。此功能仅适用于从 Google Cloud Storage 存储分区进行的转移。REGIONAL 和 MULTI_REGIONAL 存储类别将映射到 STANDARD,以确保它们可以写入目标存储分区。
STORAGE_CLASS_STANDARD 将存储类别设置为 STANDARD。
STORAGE_CLASS_NEARLINE 将存储类别设置为 NEARLINE。
STORAGE_CLASS_COLDLINE 将存储类别设置为 COLDLINE。
STORAGE_CLASS_ARCHIVE 将存储类别设置为 ARCHIVE。

TemporaryHold

用于处理 Google Cloud Storage 对象临时预授权的选项。

枚举
TEMPORARY_HOLD_UNSPECIFIED 临时预授权行为未指定。
TEMPORARY_HOLD_SKIP 不对目的地对象设置临时冻结。
TEMPORARY_HOLD_PRESERVE 保留对象最初的临时冻结状态。

KmsKey

用于处理 Google Cloud Storage 对象的 KmsKey 设置的选项。

枚举
KMS_KEY_UNSPECIFIED KmsKey 行为未指定。
KMS_KEY_DESTINATION_BUCKET_DEFAULT 使用目的地存储分区的默认加密设置。
KMS_KEY_PRESERVE 保留对象的原始 Cloud KMS 客户管理的加密密钥 (CMEK)(如果有)。不使用 Cloud KMS 加密密钥的对象将使用目标存储分区的加密设置进行加密。

TimeCreated

用于处理 Google Cloud Storage 对象的 timeCreated 元数据的选项。

枚举
TIME_CREATED_UNSPECIFIED TimeCreated 行为未指定。
TIME_CREATED_SKIP 不保留源对象中的 timeCreated 元数据。
TIME_CREATED_PRESERVE_AS_CUSTOM_TIME 在目的地对象的 customTime 字段中保留源对象的 timeCreatedlastModified 元数据。请注意,存储在源对象的 customTime 字段中的任何值都不会传播到目标对象。