Package google.bytestream

Dizin

ByteStream

Byte Stream API, istemcinin bir kaynaktan gelen bayt akışını okuyup yazmasını sağlar. Kaynakların adları vardır ve bu adlar, okunan veya yazılan kaynağı tanımlamak için aşağıdaki API çağrılarında sağlanır.

Byte Stream API'nin tüm uygulamalarında, burada tanımlanan arayüz dışa aktarılır:

  • Read(): Bir kaynağın içeriğini okur.

  • Write(): Bir kaynağın içeriğini yazar. İstemci Write() öğesini aynı kaynakla birden çok kez çağırabilir ve QueryWriteStatus() yöntemini çağırarak yazma işleminin durumunu kontrol edebilir.

ByteStream API, kaynakla ilişkili meta verilere erişmek veya bunları değiştirmek için doğrudan bir yol sağlamaz.

Hizmet tarafından döndürülen hatalar, Google standart hata alanında yer alır.

Yazma

rpc Write(WriteRequest) returns (WriteResponse)

Write(), kaynağın içeriğini bayt dizisi olarak göndermek için kullanılır. Baytlar, istemci tarafı akış RPC'sinin bir istek proto'su dizisinde gönderilir.

Bir Write() işlemi devam ettirilebilir. Write() sırasında bir hata oluşursa veya bağlantı kesilirse istemci, QueryWriteStatus() numarasını arayarak Write() durumunu kontrol etmeli ve döndürülen committed_size üzerinden yazmaya devam etmelidir. Bu, istemcinin daha önce gönderdiği veri miktarından daha az olabilir.

Daha önce yazılan ve kesinleşmiş bir kaynak adında Write() çağrısı, temel hizmetin önceden yazılmış kaynakların üzerine yazılmasına izin verip vermediğine bağlı olarak hataya neden olabilir.

İstemci, istek kanalını kapattığında hizmet WriteResponse ile yanıt verir. İstemci, finish_write true değerine ayarlanmış bir WriteRequest gönderene kadar hizmet, kaynağı complete olarak görüntülemez. finish_write true olarak ayarlanmış bir istek gönderdikten sonra akış üzerinden istek göndermek hataya neden olur. İstemci, hizmetin ne kadar veri kaydedebildiğini ve hizmetin kaynağı complete olarak görüntüleyip görüntülemediğini belirlemek için aldığı WriteResponse öğesini kontrol etmelidir.

Yetkilendirme Kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

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

Daha fazla bilgi için OAuth 2.0'a Genel Bakış başlıklı makaleye bakın.

RestByteStream

UpdateMedia

rpc UpdateMedia(UpdateMediaRequest) returns (Media)

Medya yükler. /upload/v1/media/{+name} URI'sında yükleme desteklenir.

Yetkilendirme Kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

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

Daha fazla bilgi için OAuth 2.0'a Genel Bakış başlıklı makaleye bakın.

Medya

Medya kaynağı.

Alanlar
resource_name

string

Medya kaynağının adı.

UpdateMediaRequest

Medya yükleme isteği.

Alanlar
resource_name

string

İndirilmekte olan medyanın adı. Şu sayfaya göz atın: ReadRequest.resource_name.

media

Media

Yüklenen medyanın gösterimi.

WriteRequest

ByteStream.Write için istek nesnesi.

Alanlar
resource_name

string

Yazılacak kaynağın adı. Bu, her Write() işleminin ilk WriteRequest için ayarlanmalıdır. Sonraki çağrılarda ayarlanırsa ilk isteğin değeriyle eşleşmesi gerekir.

write_offset

int64

Verilerin yazılması gereken kaynağın başlangıcından itibaren ofset. Tüm WriteRequest öğeleri için zorunludur.

Bir Write() işleminin ilk WriteRequest öğesinde, Write() çağrısına ilişkin başlangıç ofsetini belirtir. Değer, bir QueryWriteStatus() çağrısının döndüreceği committed_size değerine eşit olmalıdır.

Sonraki çağrılarda bu değer ayarlanmalı ve ilk write_offset ile bu akışta daha önce gönderilen tüm data paketlerinin boyutlarının toplamına eşit olmalıdır.

Yanlış bir değer hataya neden olur.

finish_write

bool

true ise yazmanın tamamlandığını gösterir. finish_write öğesinin true olduğu bir sonraki WriteRequest öğesinin ardından gönderilmesi bir hataya neden olur.

data

bytes

Kaynak verilerinin bir kısmı. İstemci, belirli herhangi bir WriteRequest için data öğesini boş bırakabilir. Bu sayede istemci, daha fazla veri oluşturmak için bir işlem çalıştırırken isteğin hâlâ yayında olduğunu hizmete bildirebilir.

WriteResponse

ByteStream.Write için yanıt nesnesi.

Alanlar
committed_size

int64

Belirli kaynak için işlenen bayt sayısı.