简介
@aws-sdk/eventstream-marshaller 是一个 AWS SDK for JavaScript 的包,它提供了一种转换 AWS EventStream 消息的方式。AWS EventStream 是一种 Amazon Web Services 用于在服务之间传递消息的二进制协议。该包提供了一个 EventStreamMarshaller 类,它将 JSON 对象序列化为 EventStream 消息,并将 EventStream 消息反序列化为 JSON 对象。
安装
您可以通过 npm 包管理器安装 @aws-sdk/eventstream-marshaller,使用以下命令:
--- ------- ------------------------------- ------
示例代码
----- - --------------------- - - ------------------------------------------- ----- - -------- ------- - - ------------------------------------------- ----- ---------- - --- ------------------------- ---------- --- ----------- ----- -------- -------- - ----- ---- - ---------------- ---- ----- --- ----- ----- - - -------- --- ----- ------------------ -- ----- - ------ - - ----- --------------------------- --------------------------------------- - ----- -------- -------- - ----- ------------ - ----------------------------------- ----- --- - ------------------------- ---------- ----- - ----- - - ----- ----------------------- -------- ---- ------- ----- --- ----------------------------------------------- -
使用方法
创建 EventStreamMarshaller
在您的应用程序中,您需要使用 EventStreamMarshaller 的构造函数来创建一个新的 EventStreamMarshaller 实例,如下所示:
----- ---------- - --- ------------------------------ -------- ---------
其中,encoder 和 decoder 参数分别是 @aws-sdk/eventstream-serde-node 包中的 Encoder 和 Decoder 。 options 是一个包含以下属性的可选对象:
- booleanValues:当转换布尔值时,使用的字符串(默认为 true 和 false)。
- utf8Encoder:编码字符串时使用的编码器(默认为 utf8)。
- utf8Decoder:解码字符串时使用的解码器(默认为 utf8)。
编码 JSON 对象
使用 EventStreamMarshaller 实例的 marshall 方法,将 JSON 对象序列化为 EventStream 消息,并将其包装在对象中。 消息对象应该包含 headers 和 body 属性。headers 属性是一个包含字符串键值对的对象,表示消息中包含的元数据。body 属性是一个包含在消息体中的二进制数据的 Buffer 对象。
----- -------- -------- - ----- ---- - ---------------- ---- ----- --- ----- ----- - - -------- - -------------- - ----- --------- ------ ----------- -- ---------------- - ----- --------- ------ ------------- -- -- ----- ------------------ -- ----- - ------ - - ----- --------------------------- --------------------------------------- -
解码 EventStream 消息
使用 EventStreamMarshaller 实例的 unmarshall 方法,将 EventStream 消息反序列化为可读的 JSON 对象。 消息应该包含 message 和 binary 属性。message 属性是待解码的消息体。binary 属性是一个标志,表示消息体是否表示为二进制数据。
----- -------- -------- - ----- ------------ - ----------------------------------- ----- --- - ------------------------- ---------- ----- - ----- - - ----- ----------------------- -------- ---- ------- ----- --- ----------------------------------------------- -
结论
通过本文对 @aws-sdk/eventstream-marshaller 包的使用介绍,相信您已经了解了该包的使用方法和优势。它为 AWS EventStream 提供了一种可靠的方法,可以保存和通信的信息更加灵活和动态。如果您正在使用 AWS,并且需要在应用之间传递消息,则可以考虑使用该包。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5f6f483ba9b7065299ccba66