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 جریان سمت مشتری ارسال می شوند.

یک اقدام Write() قابل ازسرگیری است. اگر خطایی وجود داشته باشد یا اتصال در طول Write() قطع شود، کلاینت باید وضعیت Write() را با فراخوانی QueryWriteStatus() بررسی کند و نوشتن را از committed_size بازگشتی ادامه دهد. این ممکن است کمتر از مقدار داده‌ای باشد که مشتری قبلاً ارسال کرده است.

فراخوانی Write() بر روی نام منبعی که قبلا نوشته شده و نهایی شده است، بسته به اینکه سرویس زیربنایی اجازه می دهد منابع قبلی نوشته شده را بیش از حد بنویسد، می تواند باعث خطا شود.

هنگامی که مشتری کانال درخواست را می بندد، سرویس با یک WriteResponse پاسخ می دهد. تا زمانی که مشتری یک WriteRequest با finish_write تنظیم شده روی true ارسال نکند، این سرویس منبع را complete نمی بیند. ارسال هرگونه درخواست در جریان پس از ارسال درخواست با تنظیم finish_write روی true باعث ایجاد خطا می شود. کلاینت باید WriteResponse را که دریافت می‌کند بررسی کند تا مشخص کند که سرویس چقدر داده می‌تواند متعهد شود و آیا سرویس منبع را 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 مراجعه کنید.

رسانه ها

منبع رسانه ای

زمینه های
resource_name

string

نام منبع رسانه ای

UpdateMediaRequest

درخواست پیام برای بارگذاری رسانه.

زمینه های
resource_name

string

نام رسانه ای که در حال دانلود است. ReadRequest.resource_name را ببینید.

media

Media

نمایندگی رسانه ای که بارگذاری می شود.

WriteRequest

درخواست شی برای ByteStream.Write.

زمینه های
resource_name

string

نام منبعی که باید بنویسید. این باید در اولین WriteRequest هر اقدام Write() تنظیم شود. اگر در تماس های بعدی تنظیم شود، باید با مقدار درخواست اول مطابقت داشته باشد.

write_offset

int64

آفست از ابتدای منبعی که داده ها باید در آن نوشته شوند. در همه WriteRequest ها لازم است.

در اولین اکشن WriteRequest از یک Write() ، آفست اولیه فراخوانی Write() را نشان می دهد. مقدار باید برابر با committed_size باشد که یک فراخوانی به QueryWriteStatus() برمی گرداند.

در تماس‌های بعدی، این مقدار باید تنظیم شود و باید برابر با مجموع اولین write_offset و اندازه‌های همه بسته‌های data که قبلاً در این جریان ارسال شده‌اند، باشد.

مقدار نادرست باعث خطا می شود.

finish_write

bool

اگر true ، این نشان می دهد که نوشتن کامل شده است. ارسال هر WriteRequest بعدی به یکی که در آن finish_write true است باعث خطا می شود.

data

bytes

بخشی از داده ها برای منبع مشتری ممکن است data برای هر WriteRequest خالی بگذارد. این به سرویس گیرنده امکان می دهد تا زمانی که در حال اجرای عملیاتی برای تولید داده های بیشتر است، به سرویس اطلاع دهد که درخواست هنوز فعال است.

WriteResponse

شی پاسخ برای ByteStream.Write .

زمینه های
committed_size

int64

تعداد بایت هایی که برای منبع داده شده پردازش شده اند.