Package google.bytestream

索引

ByteStream

Byte Stream API 让客户端能够对资源读写字节流。资源有名称,下面的 API 调用中提供这些名称,用于标识正在读取或写入的资源。

Byte Stream API 的所有实现都会导出此处定义的接口:

  • Read():读取资源的内容。

  • Write():写入资源的内容。客户端可以使用同一资源多次调用 Write(),并可通过调用 QueryWriteStatus() 检查写入操作的状态。

ByteStream API 未提供直接访问/修改与资源关联的任何元数据的方式。

该服务返回的错误位于 Google 规范错误空间内。

书写

rpc Write(WriteRequest) returns (WriteResponse)

Write() 用于以字节序列的形式发送资源的内容。这些字节在客户端流式 RPC 的一系列请求 proto 中发送。

Write() 操作是可恢复的。如果在 Write() 期间出现错误或连接中断,客户端应通过调用 QueryWriteStatus() 检查 Write() 的状态,并从返回的 committed_size 继续写入。这个数据量可能小于客户端之前发送的数据量。

对之前写入和最终确定的资源名称调用 Write() 可能会导致错误,具体取决于底层服务是否允许覆盖之前写入的资源。

当客户端关闭请求渠道时,服务将使用 WriteResponse 进行响应。在客户端发送 WriteRequest 并将 finish_write 设置为 true 之前,服务不会以 complete 形式查看资源。如果在发送 finish_write 设置为 true 的请求后发送数据流中的任何请求,将会导致错误。客户端检查收到的 WriteResponse,以确定服务能够提交多少数据,以及服务是否将资源视为 complete

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/plus.business.manage
  • https://www.googleapis.com/auth/business.manage

有关详情,请参阅 OAuth 2.0 概览

RestByteStream

UpdateMedia

rpc UpdateMedia(UpdateMediaRequest) returns (Media)

上传媒体内容。支持通过 URI /upload/v1/media/{+name} 上传。

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/plus.business.manage
  • https://www.googleapis.com/auth/business.manage

有关详情,请参阅 OAuth 2.0 概览

媒体

媒体资源。

字段
resource_name

string

媒体资源的名称。

UpdateMediaRequest

上传媒体的请求消息。

字段
resource_name

string

正在下载的媒体的名称。请参阅ReadRequest.resource_name

media

Media

表示正在上传的媒体。

WriteRequest

ByteStream.Write 的请求对象。

字段
resource_name

string

要写入的资源的名称。必须在每个 Write() 操作的第一个 WriteRequest 上设置此变量。如果在后续调用中设置,则它必须与第一个请求的值一致。

write_offset

int64

相对于资源开头偏移量,数据应写入到该位置。所有 WriteRequest 上都必须有此参数。

Write() 操作的第一个 WriteRequest 中,指示 Write() 调用的初始偏移量。该值必须等于对 QueryWriteStatus() 的调用将返回的 committed_size

在后续调用中,必须设置此值,并且此值必须等于前一个 write_offset 以及之前在此数据流中发送的所有 data bundle 的大小之和。

不正确的值将导致错误。

finish_write

bool

如果为 true,则表示写入已完成。在 finish_writetrue 的后面发送任何 WriteRequest 都会导致错误。

data

bytes

资源数据的一部分。对于任何给定的 WriteRequest,客户端可以data 留空。这样,客户端在运行生成更多数据时可以通知服务请求仍处于活动状态。

WriteResponse

ByteStream.Write 的响应对象。

字段
committed_size

int64

已针对给定资源处理的字节数。