npm 包 cfn-events-stream 使用教程

阅读时长 5 分钟读完

简介

cfn-events-stream 是一个适用于 AWS CloudFormation(以下简称 CFN)的 Node.js 模块,可以将 CloudFormation 的事件流(event stream)转换为可读流(readable stream),以方便实现自定义的 CFN 监控、日志、回滚等功能。

安装

在项目目录中执行以下命令安装 cfn-events-stream:

使用方法

引入模块

在 JavaScript 代码中引入 cfn-events-stream 模块:

创建可读流

其中,aws-sdk 模块是 AWS 的 JavaScript SDK,cfn 是 CloudFormation 的操作对象,params 是 CloudFormation 操作的参数,options 是 cfn-events-stream 的配置项,其中:

  • retry:失败自动重试次数,默认是 5;
  • interval:自动重试的时间间隔,默认是 3000(3s);
  • backoff:自动重试的指数增长,默认是 2。

处理可读流

cfn-events-stream 返回的是 Node.js 的可读流(readable stream),需要调用 Node.js 的流处理方法,如 pipe 或 on 等实现对事件流的处理。

  • pipe 方式:
  • on 方式:

示例代码

将 CloudFormation 栈更新事件流记录到本地日志文件。

-- -------------------- ---- -------
----- --- - -------------------
----- - ----------------- - - --------------
----- --------------- - -----------------------------

----- --- - --- ---------------------
----- ---------- - ----------------
----- ------ - - ---------- ---------- --
----- ----------- - ------------------------------------
----- ------- - - ------ -- --------- ----- -------- - --

----- ------------- - -------------------- ------- ---------

-------------
  ---------------------------------------- -------------------
  ------------------------
  -------------------

-------- --------------------------- -
  ----- - --------- - - ------------------
  
  ------ --- -----------
    ----------- -----
    --------------- --------- --------- -
      ----- ----- - ----------------------------

      -- ------------------------------------------- -
        ----------------
      -

      -----------
    --
  ---
-

-------- ----------------- -
  ----- - --------- - - ------------------
  
  ------ --- -----------
    ----------- -----
    --------------- --------- --------- -
      ----- ----- - ----------------------------
      ----- - -------- ---------- ------------------ -------------------- - - ------

      ----- ------- - ------- ---------------------- ------ ------------ ------------- ------------------ --------------------- ------- ------------------------ -------- -------------------------

      --------------------------
      -----------
    --
  ---
-

指导意义

cfn-events-stream 模块可以帮助我们更好地监控 CloudFormation 的操作,协助我们更好地了解 CloudFormation 的操作状态及操作详情,方便我们进行更深入的监控、诊断和回滚操作,提高了系统的可维护性及稳定性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600556e681e8991b448d3c51

纠错
反馈