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 บริการจะไม่ดูทรัพยากรเป็น 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

จำนวนไบต์ที่มีการประมวลผลสำหรับทรัพยากรที่ระบุ