สํารวจส่วนข้อมูลข้อความ Service Bus และการทําให้เป็นอนุกรม
ข้อความดําเนินการส่วนข้อมูลและเมตาดาต้า เมตาดาต้าอยู่ในรูปแบบของคุณสมบัติคู่คีย์-ค่า และอธิบายส่วนข้อมูล และให้คําแนะนําในการจัดการกับ Service Bus และแอปพลิเคชัน ในบางครั้ง เมตาดาต้าเพียงอย่างเดียวก็เพียงพอที่จะดําเนินการข้อมูลที่ผู้ส่งต้องการสื่อสารกับผู้รับ และส่วนข้อมูลยังคงว่างเปล่า
แบบจําลองวัตถุของไคลเอ็นต์ Service Bus อย่างเป็นทางการสําหรับ .NET และ Java แมปไปยังและจากโพรโทคอลสาย Service Bus สนับสนุน
ข้อความ Service Bus ประกอบด้วยส่วนข้อมูลไบนารีที่ Service Bus ไม่เคยจัดการในแบบฟอร์มใด ๆ บนด้านบริการ และคุณสมบัติสองชุด คุณสมบัติของนายหน้า ถูกกําหนดโดยระบบ คุณสมบัติที่กําหนดไว้ล่วงหน้าเหล่านี้จะควบคุมฟังก์ชันระดับข้อความภายในตัวกลาง หรือจะแมปกับรายการเมตาดาต้าทั่วไปและมาตรฐาน คุณสมบัติผู้ใช้ คือคอลเลกชันของคู่ค่าคีย์ที่กําหนดและตั้งค่าโดยแอปพลิเคชัน
การกําหนดเส้นทางข้อความและสหสัมพันธ์
ชุดย่อยของคุณสมบัติโบรกเกอร์ โดยเฉพาะ ToReplyToReplyToSessionIdMessageIdCorrelationIdและ SessionIdช่วยให้แอปพลิเคชันกําหนดเส้นทางข้อความไปยังปลายทางเฉพาะ รูปแบบต่อไปนี้อธิบายการกําหนดเส้นทาง:
คําขอ/การตอบกลับอย่างง่าย: ผู้เผยแพร่ส่งข้อความไปยังคิว และคาดว่าจะตอบกลับจากผู้ใช้ข้อความ ผู้เผยแพร่เป็นเจ้าของคิวเพื่อรับข้อความตอบกลับ ที่อยู่ของคิวนั้นอยู่ในคุณสมบัติ
ReplyToของข้อความขาออก เมื่อลูกค้าตอบสนอง จะคัดลอกMessageIdของข้อความที่จัดการไปยังคุณสมบัติCorrelationIdของข้อความตอบกลับและส่งข้อความไปยังปลายทางที่ระบุโดยคุณสมบัติReplyToหนึ่งข้อความสามารถตอบกลับได้หลายข้อความ โดยขึ้นอยู่กับบริบทของแอปพลิเคชันคําขอ/การตอบกลับมัลติคาสต์: เป็นการเปลี่ยนแปลงรูปแบบก่อนหน้า ผู้เผยแพร่จะส่งข้อความไปยังหัวข้อและผู้สมัครใช้งานหลายคนจะมีสิทธิ์ใช้ข้อความ สมาชิกแต่ละคนอาจตอบสนองตามแบบที่อธิบายไว้ก่อนหน้านี้ ถ้า
ReplyToชี้ไปที่หัวข้อ หนึ่ง ชุดการตอบสนองการค้นพบดังกล่าวสามารถแจกจ่ายให้กับผู้ชมได้Multiplexing: คุณลักษณะเซสชันนี้เปิดใช้งานการคูณของสตรีมของข้อความที่เกี่ยวข้องผ่านคิวเดียวหรือการสมัครใช้งาน เช่นแต่ละเซสชัน (หรือกลุ่ม) ของข้อความที่เกี่ยวข้องที่ระบุโดยการจับคู่ค่า
SessionIdจะถูกส่งไปยังผู้รับเฉพาะในขณะที่ผู้รับระงับเซสชันภายใต้ล็อค เรียนรู้เพิ่มเติมเกี่ยวกับรายละเอียดของเซสชัน ที่นี่คําขอ/การตอบกลับหลายรายการ: คุณลักษณะเซสชันนี้เปิดใช้งานการตอบกลับแบบหลายทวีคูณ ช่วยให้ผู้เผยแพร่หลายรายสามารถแชร์คิวการตอบกลับได้ โดยการตั้งค่า
ReplyToSessionIdผู้เผยแพร่สามารถแนะนําผู้ใช้อย่างน้อยหนึ่งรายให้คัดลอกค่านั้นไปยังคุณสมบัติSessionIdของข้อความตอบกลับได้ คิวการประกาศหรือหัวข้อไม่จําเป็นต้องทราบเซสชัน เมื่อข้อความถูกส่งผู้เผยแพร่สามารถรอเซสชันที่มีSessionIdที่ระบุเพื่อทําคิวให้เป็นรูปเป็นรูปเป็นรูปตามเงื่อนไขโดยยอมรับตัวรับเซสชัน
การอนุกรมของส่วนข้อมูล
เมื่ออยู่ในการขนส่งหรือจัดเก็บไว้ภายใน Service Bus ส่วนข้อมูลจะทึบและเป็นบล็อกไบนารีเสมอ คุณสมบัติ ContentType ช่วยให้แอปพลิเคชันสามารถอธิบายส่วนข้อมูลได้ด้วยรูปแบบที่แนะนําสําหรับค่าคุณสมบัติที่เป็นคําอธิบายชนิดเนื้อหา MIME ตาม RFC2045 IETF ตัวอย่างเช่น application/json;charset=utf-8
แตกต่างจากตัวแปร Java หรือ .NET Standard เวอร์ชัน .NET Framework ของ Service Bus API สนับสนุนการสร้างอินสแตนซ์ BrokeredMessage โดยผ่านออบเจ็กต์ .NET แบบกําหนดเองไปยังคอนสตรักเตอร์
โพรโทคอล SBMP แบบดั้งเดิมจะจัดเรียงออบเจ็กต์ให้เป็นอนุกรมไบนารีเริ่มต้น หรือด้วย serializer ที่ให้มาภายนอก โพรโทคอล AMQP จะซีเรียลวัตถุเป็นวัตถุ AMQP ผู้รับสามารถดึงออบเจ็กต์เหล่านั้นด้วยวิธีการ GetBody<T>() ซึ่งเป็นชนิดที่คาดไว้ ด้วย AMQP วัตถุจะถูกซีเรียลไลซ์เป็นกราฟ AMQP ของวัตถุ ArrayList และ IDictionary<string,object> และไคลเอ็นต์ AMQP ใด ๆ สามารถถอดรหัสได้
ในขณะที่เวทมนตร์การจัดเรียงแบบอนุกรมที่ซ่อนอยู่นี้จะสะดวกถ้าแอปพลิเคชันควรควบคุมการจัดเรียงแบบอนุกรมของวัตถุอย่างชัดเจนและเปลี่ยนกราฟวัตถุของพวกเขาเป็นสตรีมก่อนที่จะรวมไว้ในข้อความ พวกเขาควรทําการดําเนินการย้อนกลับบนฝั่งผู้รับ แม้ว่า AMQP มีรูปแบบการเข้ารหัสไบนารีที่มีประสิทธิภาพ แต่ก็ผูกไว้กับระบบนิเวศของการรับส่งข้อความ AMQP และไคลเอ็นต์ HTTP มีปัญหาในการถอดรหัสส่วนข้อมูลดังกล่าว