Package google.bytestream

الفهرس

ByteStream

تمكّن واجهة برمجة التطبيقات Byte Stream API العميل من قراءة وكتابة بث وحدات البايت من وإلى المورد. للموارد أسماء، ويتم تقديم هذه الأسماء في طلبات بيانات من واجهة برمجة التطبيقات أدناه لتحديد المورد الذي تتم القراءة منه أو تتم الكتابة إليه.

تعمل جميع عمليات تنفيذ واجهة برمجة التطبيقات Byte Stream API على تصدير الواجهة المحدّدة هنا:

  • Read(): لقراءة محتوى مورد.

  • Write(): لكتابة محتوى مورد. يمكن للعميل الاتصال بـ "Write()" عدة مرات باستخدام المورد نفسه، ويمكنه التحقّق من حالة عملية الكتابة من خلال طلب الرقم QueryWriteStatus().

لا توفّر واجهة برمجة التطبيقات ByteStream API أي طريقة مباشرة للوصول إلى أي بيانات وصفية مرتبطة بالمورد أو تعديلها.

إنّ الأخطاء التي تعرضها الخدمة موجودة في مساحة الأخطاء من Google الأساسية.

كتابة

rpc Write(WriteRequest) returns (WriteResponse)

يتم استخدام Write() لإرسال محتوى مورد كتسلسل من وحدات البايت. يتم إرسال وحدات البايت على شكل تسلسل من نماذج الطلب الخاصة باستدعاء إجراء عن بُعد للبث من جهة العميل.

إجراء Write() قابل للاستئناف. إذا حدث خطأ أو انقطع الاتصال أثناء Write()، على العميل التحقّق من حالة Write() من خلال الاتصال بـ QueryWriteStatus() ومواصلة الكتابة من committed_size التي تم عرضها. وقد يكون هذا الرقم أقل من مقدار البيانات التي أرسلها العميل في السابق.

قد يؤدي الاتصال بـ Write() على اسم مورد تمت كتابته سابقًا وإنهاءه إلى حدوث خطأ، بناءً على ما إذا كانت الخدمة الأساسية تسمح بكتابة الموارد المكتوبة سابقًا.

عندما يغلق العميل قناة الطلب، ستستجيب الخدمة برمز WriteResponse. لن تعرض الخدمة المورد كـ complete حتى يرسل العميل WriteRequest مع ضبط finish_write على true. سيؤدي إرسال أي طلبات في مجموعة بث بعد إرسال طلب مع ضبط 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

عدد وحدات البايت التي تمت معالجتها للمورد المحدّد.