Package google.bytestream

Indeks

ByteStream

Byte Stream API umożliwia klientowi odczytywanie i zapisywanie strumienia bajtów do zasobu i z niego. Zasoby mają nazwy, które są podawane w poniższych wywołaniach interfejsu API w celu identyfikacji zasobu, z którego są odczytywane lub w którym są zapisywane.

Wszystkie implementacje interfejsu Byte Stream API eksportują interfejs zdefiniowany tutaj:

  • Read(): odczytuje zawartość zasobu.

  • Write(): zapisuje zawartość zasobu. Klient może wiele razy wywołać Write() z tym samym zasobem i może sprawdzić stan zapisu, wywołując metodę QueryWriteStatus().

Interfejs ByteStream API nie umożliwia bezpośredniego dostępu do metadanych powiązanych z zasobem ani ich modyfikacji.

Błędy zwracane przez usługę znajdują się w obszarze błędów kanonicznych Google.

Zapis

rpc Write(WriteRequest) returns (WriteResponse)

Write() służy do wysyłania zawartości zasobu w postaci sekwencji bajtów. Bajty są wysyłane w sekwencji żądań protopy RPC po stronie klienta.

Działanie Write() można wznowić. Jeśli wystąpi błąd lub połączenie zostanie przerwane w czasie Write(), klient powinien sprawdzić stan obiektu Write(), wywołując QueryWriteStatus() i kontynuować pisanie ze zwróconego committed_size. Może być mniejsza od ilości danych wysłanych wcześniej przez klienta.

Wywołanie Write() przy nazwie zasobu, który został wcześniej zapisany i sfinalizowany, może spowodować błąd w zależności od tego, czy podstawowa usługa umożliwia zastąpienie wcześniej zapisanych zasobów.

Gdy klient zamknie kanał żądania, usługa w odpowiedzi wyświetli WriteResponse. Usługa nie wyświetli zasobu jako complete, dopóki klient nie wyśle elementu WriteRequest z wartością finish_write ustawioną na true. Wysłanie jakichkolwiek żądań w strumieniu po wysłaniu żądania, w którym parametr finish_write ma wartość true, spowoduje błąd. Klient powinien sprawdzić WriteResponse, aby określić, ile danych usługa była w stanie zatwierdzić i czy usługa wyświetla zasób jako complete.

Zakresy autoryzacji

Wymaga jednego z tych zakresów OAuth:

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

Więcej informacji znajdziesz w artykule Omówienie protokołu OAuth 2.0.

RestByteStream

UpdateMedia

rpc UpdateMedia(UpdateMediaRequest) returns (Media)

Przesyła multimedia. Przesyłanie jest obsługiwane w przypadku identyfikatora URI /upload/v1/media/{+name}.

Zakresy autoryzacji

Wymaga jednego z tych zakresów OAuth:

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

Więcej informacji znajdziesz w artykule Omówienie protokołu OAuth 2.0.

Media

Zasób multimedialny.

Pola
resource_name

string

Nazwa zasobu multimedialnego.

UpdateMediaRequest

Wiadomość z prośbą o przesłanie multimediów.

Pola
resource_name

string

Nazwa pobieranych multimediów. Zobacz ReadRequest.resource_name.

media

Media

Prezentacja przesyłanych multimediów.

WriteRequest

Obiekt żądania dla ByteStream.Write.

Pola
resource_name

string

Nazwa zasobu do zapisu. Ten parametr musi zostać ustawiony w pierwszym elemencie WriteRequest każdego działania Write(). Jeśli jest ustawiony przy kolejnych wywołaniach, musi odpowiadać wartości pierwszego żądania.

write_offset

int64

Przesunięcie od początku zasobu, w którym mają być zapisane dane. Jest to wymagane w przypadku wszystkich urządzeń WriteRequest.

W pierwszym WriteRequest działania Write() wskazuje ono początkowe przesunięcie dla wywołania Write(). Wartość musi być równa committed_size, które zwróci wywołanie do QueryWriteStatus().

W przypadku kolejnych wywołań ta wartość musi być ustawiona i musi być równa sumie pierwszych write_offset oraz rozmiarów wszystkich pakietów data wysłanych wcześniej w ramach tego strumienia.

Nieprawidłowa wartość powoduje błąd.

finish_write

bool

Jeśli ustawiona jest wartość true, oznacza to, że zapis został zakończony. Wysłanie wszystkich WriteRequest po tym, w którym finish_write ma wartość true, spowoduje błąd.

data

bytes

Część danych dotyczących zasobu. Klient może pozostawić pole data puste w polu WriteRequest. Dzięki temu klient może poinformować usługę, że żądanie jest wciąż aktywne, podczas wykonywania operacji, aby wygenerować więcej danych.

WriteResponse

Obiekt odpowiedzi na pytanie ByteStream.Write.

Pola
committed_size

int64

Liczba bajtów, które zostały przetworzone dla danego zasobu.