REST Resource: transferOperations

资源:TransferOperation

转移执行情况的说明。

JSON 表示法
{
  "name": string,
  "projectId": string,
  "transferSpec": {
    object (TransferSpec)
  },
  "notificationConfig": {
    object (NotificationConfig)
  },
  "loggingConfig": {
    object (LoggingConfig)
  },
  "startTime": string,
  "endTime": string,
  "status": enum (Status),
  "counters": {
    object (TransferCounters)
  },
  "errorBreakdowns": [
    {
      object (ErrorSummary)
    }
  ],
  "transferJobName": string
}
字段
name

string

系统分配的全局唯一 ID。

projectId

string

相应操作所属的 Google Cloud 项目的 ID。

transferSpec

object (TransferSpec)

转移规范。

notificationConfig

object (NotificationConfig)

通知配置。

loggingConfig

object (LoggingConfig)

Cloud Logging 配置。

startTime

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"

endTime

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"

status

enum (Status)

转移操作的状态。

counters

object (TransferCounters)

有关转移操作进度的信息。

errorBreakdowns[]

object (ErrorSummary)

汇总在示例错误日志条目中遇到的错误。

transferJobName

string

触发此转移操作的转移作业的名称。

状态

TransferOperation 的状态。

枚举
STATUS_UNSPECIFIED 零是无效值。
IN_PROGRESS 进行中。
PAUSED 已暂停。
SUCCESS 已成功完成。
FAILED 因无法恢复的失败而终止。
ABORTED 已由用户取消。
QUEUED 系统暂时延迟。用户无需执行任何操作。
SUSPENDING 操作正在暂停,并会耗尽正在进行的工作以使其完成。

TransferCounters

用于报告传输操作进度的一系列计数器。

JSON 表示法
{
  "objectsFoundFromSource": string,
  "bytesFoundFromSource": string,
  "objectsFoundOnlyFromSink": string,
  "bytesFoundOnlyFromSink": string,
  "objectsFromSourceSkippedBySync": string,
  "bytesFromSourceSkippedBySync": string,
  "objectsCopiedToSink": string,
  "bytesCopiedToSink": string,
  "objectsDeletedFromSource": string,
  "bytesDeletedFromSource": string,
  "objectsDeletedFromSink": string,
  "bytesDeletedFromSink": string,
  "objectsFromSourceFailed": string,
  "bytesFromSourceFailed": string,
  "objectsFailedToDeleteFromSink": string,
  "bytesFailedToDeleteFromSink": string,
  "directoriesFoundFromSource": string,
  "directoriesFailedToListFromSource": string,
  "directoriesSuccessfullyListedFromSource": string,
  "intermediateObjectsCleanedUp": string,
  "intermediateObjectsFailedCleanedUp": string
}
字段
objectsFoundFromSource

string (int64 format)

在数据源中找到的已安排传输的对象,不包括根据对象条件过滤或因同步而跳过的对象。

bytesFoundFromSource

string (int64 format)

在数据源中找到的已计划传输的字节数,不包括根据对象条件过滤或因同步而跳过的字节数。

objectsFoundOnlyFromSink

string (int64 format)

仅在数据流中找到且已安排删除的对象。

bytesFoundOnlyFromSink

string (int64 format)

仅在数据接收器中找到且已安排删除的字节。

objectsFromSourceSkippedBySync

string (int64 format)

数据源中因已存在于数据接收器中而未转移的对象。

bytesFromSourceSkippedBySync

string (int64 format)

数据源中由于已存在于数据接收器中而未传输的字节。

objectsCopiedToSink

string (int64 format)

复制到数据接收器的对象。

bytesCopiedToSink

string (int64 format)

复制到数据接收器的字节数。

objectsDeletedFromSource

string (int64 format)

从数据源中删除的对象。

bytesDeletedFromSource

string (int64 format)

从数据源中删除的字节数。

objectsDeletedFromSink

string (int64 format)

从数据接收器中删除的对象。

bytesDeletedFromSink

string (int64 format)

从数据接收器中删除的字节数。

objectsFromSourceFailed

string (int64 format)

数据源中未能转移或转移后未能删除的对象。

bytesFromSourceFailed

string (int64 format)

数据源中未能转移或转移后未能删除的字节数。

objectsFailedToDeleteFromSink

string (int64 format)

未能从数据接收器中删除的对象。

bytesFailedToDeleteFromSink

string (int64 format)

未能从数据接收器中删除的字节数。

directoriesFoundFromSource

string (int64 format)

仅适用于涉及 PosixFilesystem 的转移。

列出时找到的目录数量。例如,如果传输的根目录为 base/,并且此目录下还有两个其他目录 a/b/,则列出 base/base/a/base/b/ 后的计数为 3。

directoriesFailedToListFromSource

string (int64 format)

仅适用于涉及 PosixFilesystem 的转移。

在来源中找到的每个目录的列表失败次数。列出目录时可能发生的失败包括权限失败或块失败。如果列出目录失败,则不会转移目录中的任何文件。

directoriesSuccessfullyListedFromSource

string (int64 format)

仅适用于涉及 PosixFilesystem 的转移。

在来源中找到的每个目录的成功列表数量。

intermediateObjectsCleanedUp

string (int64 format)

成功清理中间对象的数量。

intermediateObjectsFailedCleanedUp

string (int64 format)

未能清理成功的中间对象数量。

ErrorSummary

按错误代码显示的错误摘要,以及错误数量和示例错误日志条目。

JSON 表示法
{
  "errorCode": enum (Code),
  "errorCount": string,
  "errorLogEntries": [
    {
      object (ErrorLogEntry)
    }
  ]
}
字段
errorCode

enum (Code)

必填。

errorCount

string (int64 format)

必需。此类错误的计数。

errorLogEntries[]

object (ErrorLogEntry)

错误示例。

对于单次传输操作,系统最多会针对给定错误代码记录 5 条错误日志条目。

代码

Google API 的规范错误代码。

枚举
OK

不是错误信息;成功时返回此项。

HTTP 映射:200 OK

CANCELLED

操作已取消(通常是被调用者取消)。

HTTP 映射:499 Client Closed Request

UNKNOWN

未知错误。例如,当从另一个地址空间接收到的 Status 值属于此地址空间中未知的错误空间时,可能返回此错误。另外,因 API 没有返回足够错误信息而引发的错误也可能会转换为此错误。

HTTP 映射:500 Internal Server Error

INVALID_ARGUMENT

客户端指定的参数无效。请注意,这与 FAILED_PRECONDITION 不同。无论系统状态如何,INVALID_ARGUMENT 都会指出有问题的参数(例如文件名格式错误)。

HTTP 映射:400 Bad Request

DEADLINE_EXCEEDED

在操作完成之前截止期限已过。对于更改系统状态的操作,即使操作已成功完成,也可能会返回此错误。例如,服务器的成功响应可能会延迟足够长的时间以使截止期限过期。

HTTP 映射:504 Gateway Timeout

NOT_FOUND

找不到所请求的部分实体(例如,文件或目录)。

服务器开发者注意:如果要拒绝整个一类用户的请求(例如,功能逐步发布的用户或未正式加入许可名单的用户),则可以使用 NOT_FOUND。如果要拒绝某一类用户中部分用户的请求(例如,基于用户的访问权限控制),则必须使用 PERMISSION_DENIED

HTTP 映射:404 Not Found

ALREADY_EXISTS

客户端试图创建的实体(如文件或目录)已经存在。

HTTP 映射:409 Conflict

PERMISSION_DENIED

调用者无权执行指定的操作。如果遭拒的原因是由于部分资源已用尽,则不得使用 PERMISSION_DENIED(请改用 RESOURCE_EXHAUSTED 来表示此类错误)。如果调用者无法识别,则不得使用 PERMISSION_DENIED(请改用 UNAUTHENTICATED 来表示此类错误)。此错误代码并不意味着请求有效,或者请求的实体存在或满足其他先决条件。

HTTP 映射:403 Forbidden

UNAUTHENTICATED

请求没有相应操作的有效身份验证凭据。

HTTP 映射:401 Unauthorized

RESOURCE_EXHAUSTED

部分资源已用尽,可能是每用户配额不足,也可能是整个文件系统的存储空间已用完。

HTTP 映射:429 Too Many Requests

FAILED_PRECONDITION

操作被拒绝,因为系统未处于执行该操作所需的状态。例如,要删除的目录非空、将 rmdir 操作应用于非目录等等。

服务实施者可根据以下准则来确定是选择 FAILED_PRECONDITIONABORTED 还是 UNAVAILABLE:(a) 如果客户端只能重试失败的调用,则使用 UNAVAILABLE。(b) 如果客户端应在更高级层执行重试,则使用 ABORTED。例如当客户端指定的“测试并设置”操作失败时,这意味着客户端应重启“读取-修改-写入”序列。(c) 如果客户端不得在系统状态明确修正前执行重试,则使用 FAILED_PRECONDITION。例如,如果因非空目录而导致“rmdir”失败,应返回 FAILED_PRECONDITION,因为客户端只能在目录中的文件删除之后执行重试。

HTTP 映射:400 Bad Request

ABORTED

操作已中止,通常是由于序列程序检查失败或事务中止等并发问题。

请参阅上述准则以确定是选择 FAILED_PRECONDITIONABORTED 还是 UNAVAILABLE

HTTP 映射:409 Conflict

OUT_OF_RANGE

尝试执行的操作已超出有效范围。例如,查找或读取操作已超出文件末尾。

INVALID_ARGUMENT 不同,此错误指示的问题可以通过改变系统状态得到修复。例如,如果要求的读取操作偏移量不在 [0,2^32-1] 范围内,则 32 位文件系统将会生成 INVALID_ARGUMENT,但如果要求的读取操作偏移量超过当前文件大小,该系统则会生成 OUT_OF_RANGE

FAILED_PRECONDITIONOUT_OF_RANGE 之间有一定的共通之处。我们建议尽量使用 OUT_OF_RANGE(错误更具体一些),这样,循环访问空间的调用者就可以轻松查找 OUT_OF_RANGE 错误以检测完成情况。

HTTP 映射:400 Bad Request

UNIMPLEMENTED

操作在此服务中未实现或不受支持/未启用。

HTTP 映射:501 Not Implemented

INTERNAL

内部错误。这意味着底层系统所期望的一些不变量已损坏。此错误代码保留用于严重错误。

HTTP 映射:500 Internal Server Error

UNAVAILABLE

该服务目前不可用。这很可能是一种暂时情况,可以通过退避重试来纠正。 请注意,重试执行非幂等操作并非总是安全的。

请参阅上述准则以确定是选择 FAILED_PRECONDITIONABORTED 还是 UNAVAILABLE

HTTP 映射:503 Service Unavailable

DATA_LOSS

数据丢失或损坏且不可恢复。

HTTP 映射:500 Internal Server Error

ErrorLogEntry

用于描述所发生错误的条目。

JSON 表示法
{
  "url": string,
  "errorDetails": [
    string
  ]
}
字段
url

string

必需。指向与错误关联的目标(数据源、数据接收器或对象)的网址。

errorDetails[]

string

包含错误详细信息的消息列表。

方法

cancel

取消转移。

get

获取长时间运行的操作的最新状态。

list

列出传输操作。

pause

暂停传输操作。

resume

恢复已暂停的传输操作。