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 を返します。クライアントが finish_writetrue に設定した WriteRequest を送信するまで、サービスはリソースを complete として認識しません。finish_writetrue に設定してリクエストを送信した後に、ストリームでリクエストを送信すると、エラーが発生します。クライアントは受け取った WriteResponse をチェックして、サービスが commit できたデータ量と、リソースが 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 の概要をご覧ください。

Media

メディア リソースです。

フィールド
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 バンドルのサイズの合計と同じにする必要があります。

値が正しくないとエラーが発生します。

finish_write

bool

true の場合、書き込みが完了したことを示します。finish_writetrue である WriteRequest の後に送信すると、エラーが発生します。

data

bytes

リソースのデータの一部。クライアントは、任意の WriteRequest について data を空のままにしておくことができます。これにより、クライアントは、追加のデータを生成するオペレーションの実行中に、リクエストがまだ存続していることをサービスに通知できます。

WriteResponse

ByteStream.Write に対するレスポンス オブジェクト。

フィールド
committed_size

int64

特定のリソースに対して処理されたバイト数。