Package google.bytestream

Index

ByteStream

Mit der Byte Stream API kann ein Client einen Stream von Byte zu und von einer Ressource lesen und schreiben. Ressourcen haben Namen. Diese Namen werden in den folgenden API-Aufrufen angegeben, um die Ressource zu identifizieren, aus der gelesen oder in die geschrieben wird.

Bei allen Implementierungen der Byte Stream API wird die hier definierte Schnittstelle exportiert:

  • Read(): Liest den Inhalt einer Ressource.

  • Write(): Schreibt den Inhalt einer Ressource. Der Client kann Write() mehrmals mit derselben Ressource aufrufen und den Status des Schreibvorgangs durch Aufrufen von QueryWriteStatus() prüfen.

Das ByteStream-API bietet keine direkte Möglichkeit, auf Metadaten, die mit der Ressource verknüpft sind, zuzugreifen bzw. diese zu ändern.

Die vom Dienst zurückgegebenen Fehler befinden sich im kanonischen Google-Fehlerbereich.

Schreiben

rpc Write(WriteRequest) returns (WriteResponse)

Write() wird verwendet, um den Inhalt einer Ressource als Bytefolge zu senden. Die Byte werden in einer Abfolge von Anfrage-Protos eines clientseitigen Streaming-RPC gesendet.

Eine Write()-Aktion ist fortsetzbar. Wenn während des Write() ein Fehler auftritt oder die Verbindung unterbrochen wird, sollte der Client den Status von Write() durch Aufrufen von QueryWriteStatus() prüfen und mit dem Schreiben aus der zurückgegebenen committed_size fortfahren. Das kann geringer sein als die Datenmenge, die der Client zuvor gesendet hat.

Der Aufruf von Write() für einen Ressourcennamen, der bereits geschrieben und abgeschlossen wurde, kann einen Fehler verursachen, je nachdem, ob der zugrunde liegende Dienst das Überschreiben zuvor geschriebener Ressourcen zulässt.

Wenn der Client den Anfragekanal schließt, antwortet der Dienst mit einer WriteResponse. Der Dienst sieht die Ressource erst als complete, wenn der Client eine WriteRequest gesendet hat, bei der finish_write auf true gesetzt ist. Wenn nach dem Senden einer Anfrage, für die finish_write auf true festgelegt ist, eine Anfrage an einen Stream gesendet wird, tritt ein Fehler auf. Der Client sollte die empfangene WriteResponse prüfen, um festzustellen, wie viele Daten der Dienst festschreiben konnte und ob der Dienst die Ressource als complete ansieht.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie in der Übersicht über OAuth 2.0.

RestByteStream

UpdateMedia

rpc UpdateMedia(UpdateMediaRequest) returns (Media)

Lädt Medien hoch. Upload wird für den URI /upload/v1/media/{+name} unterstützt.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie in der Übersicht über OAuth 2.0.

Medien

Medienressource.

Felder
resource_name

string

Name der Medienressource.

UpdateMediaRequest

Anfragenachricht für das Hochladen von Medien.

Felder
resource_name

string

Name der Medien, die heruntergeladen werden. ReadRequest.resource_name ansehen.

media

Media

Darstellung der hochgeladenen Medien

WriteRequest

Anfrageobjekt für ByteStream.Write.

Felder
resource_name

string

Der Name der Ressource, die geschrieben werden soll. Dies muss für die erste WriteRequest jeder Write()-Aktion festgelegt werden. Wenn er bei nachfolgenden Aufrufen festgelegt wird, muss er mit dem Wert der ersten Anfrage übereinstimmen.

write_offset

int64

Der Versatz vom Beginn der Ressource, in den die Daten geschrieben werden sollen. Es ist auf allen WriteRequest-Elementen erforderlich.

Im ersten WriteRequest einer Write()-Aktion gibt er den anfänglichen Offset für den Write()-Aufruf an. Der Wert muss dem committed_size entsprechen, den ein Aufruf von QueryWriteStatus() zurückgeben würde.

Bei nachfolgenden Aufrufen muss dieser Wert festgelegt werden und muss der Summe der ersten write_offset und der Größen aller data-Sets entsprechen, die zuvor in diesem Stream gesendet wurden.

Ein falscher Wert führt zu einem Fehler.

finish_write

bool

Falls true, bedeutet dies, dass der Schreibvorgang abgeschlossen ist. Werden alle WriteRequest-Werte gesendet, die nach einem finish_write-Wert für true erfolgen, tritt ein Fehler auf.

data

bytes

Ein Teil der Daten für die Ressource. Der Client kann data für WriteRequest leer lassen. Dadurch kann der Client den Dienst darüber informieren, dass die Anfrage noch aktiv ist, während ein Vorgang zur Generierung weiterer Daten ausgeführt wird.

WriteResponse

Antwortobjekt für ByteStream.Write.

Felder
committed_size

int64

Die Anzahl der Byte, die für die angegebene Ressource verarbeitet wurden.