npm 包 @aws-sdk/eventstream-marshaller 使用教程

阅读时长 5 分钟读完

简介

@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

纠错
反馈

纠错反馈