Package google.bytestream

Índice

ByteStream

A API Byte Stream permite que um cliente leia e grave um stream de bytes de e para um recurso. Os recursos têm nomes, que são fornecidos nas chamadas de API abaixo para identificar o recurso que está sendo lido ou gravado.

Todas as implementações da API Byte Stream exportam a interface definida aqui:

  • Read(): lê o conteúdo de um recurso.

  • Write(): grava o conteúdo de um recurso. O cliente pode chamar Write() várias vezes com o mesmo recurso e verificar o status da gravação chamando QueryWriteStatus().

A API ByteStream não oferece uma maneira direta de acessar/modificar metadados associados ao recurso.

Os erros retornados pelo serviço estão no espaço de erros canônicos do Google.

Gravar

rpc Write(WriteRequest) returns (WriteResponse)

Write() é usado para enviar o conteúdo de um recurso como uma sequência de bytes. Os bytes são enviados em uma sequência de protos de solicitação de uma RPC de streaming do lado do cliente.

Uma ação Write() pode ser retomada. Se ocorrer um erro ou a conexão for interrompida durante a Write(), o cliente precisará verificar o status do Write() chamando QueryWriteStatus() e continuar gravando no committed_size retornado. Talvez ela seja menor do que a quantidade de dados que o cliente enviou anteriormente.

Chamar Write() em um nome de recurso que foi gravado e finalizado anteriormente pode causar um erro, dependendo se o serviço subjacente permite a substituição de recursos gravados anteriormente.

Quando o cliente fechar o canal de solicitação, o serviço responderá com uma WriteResponse. O serviço não vai visualizar o recurso como complete até que o cliente envie um WriteRequest com finish_write definido como true. Enviar qualquer solicitação em uma transmissão depois de enviar uma solicitação com finish_write definido como true causará um erro. O cliente precisa verificar o WriteResponse recebido para determinar a quantidade de dados que o serviço conseguiu confirmar e se o serviço visualiza o recurso como complete ou não.

Escopos de autorização

Requer um dos seguintes escopos de OAuth:

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

Para mais informações, consulte a Visão geral do OAuth 2.0.

RestByteStream

UpdateMedia

rpc UpdateMedia(UpdateMediaRequest) returns (Media)

Faz upload de mídia. O upload é compatível com o URI /upload/v1/media/{+name}.

Escopos de autorização

Requer um dos seguintes escopos de OAuth:

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

Para mais informações, consulte a Visão geral do OAuth 2.0.

Mídia

Recurso de mídia.

Campos
resource_name

string

Nome do recurso de mídia.

UpdateMediaRequest

Solicitar mensagem para fazer upload de mídia.

Campos
resource_name

string

Nome da mídia que está sendo transferida por download. Consulte os ReadRequest.resource_name.

media

Media

Representação da mídia que está sendo enviada.

WriteRequest

Objeto de solicitação para ByteStream.Write.

Campos
resource_name

string

O nome do recurso a ser gravado. Isso precisa ser definido na primeira WriteRequest de cada ação Write(). Se for definido em chamadas subsequentes, ele precisa corresponder ao valor da primeira solicitação.

write_offset

int64

O deslocamento do início do recurso em que os dados devem ser gravados. Ela é necessária em todos os WriteRequests.

No primeiro WriteRequest de uma ação Write(), ele indica o deslocamento inicial da chamada Write(). O valor precisa ser igual ao committed_size que uma chamada para QueryWriteStatus() retornaria.

Nas chamadas subsequentes, esse valor precisa ser definido e precisa ser igual à soma da primeira write_offset e dos tamanhos de todos os pacotes data enviados anteriormente nesse stream.

Um valor incorreto causará um erro.

finish_write

bool

Se true, isso indica que a gravação foi concluída. O envio de qualquer WriteRequest subsequente para um em que finish_write seja true causará um erro.

data

bytes

Uma parte dos dados do recurso. O cliente pode deixar data vazio para qualquer WriteRequest. Isso permite que o cliente informe ao serviço que a solicitação ainda está ativa enquanto está executando uma operação para gerar mais dados.

WriteResponse

Objeto de resposta para ByteStream.Write.

Campos
committed_size

int64

O número de bytes que foram processados para o recurso especificado.