npm 包 cfn-custom-resource-helper 使用教程

阅读时长 7 分钟读完

介绍

cfn-custom-resource-helper 是一个 npm 包,用于帮助 AWS CloudFormation 服务使用自定义资源,简化开发过程。它提供了一个 Node.js 版本的 AWS Lambda 函数,支持以下特性:

  • 向领域资源提供数据
  • 从 AWS Lambda 向 AWS CloudFormation 发送成功/失败信号
  • 自动签名
  • 序列化响应和数据

使用教程

安装

使用以下 npm 命令来安装 cfn-custom-resource-helper:

配置

  1. 开发一个 Node.js 的 AWS Lambda 函数,例如:
  1. 引入 cfn-response 模块,例如:
  1. 使用 cfnResponse.send 来发送成功/失败信号,例如:

使用

创建 CloudFormation 资源

  1. 在 CloudFormation 模板中,使用以下代码来创建 /create 路径的新自定义资源:

其中,MyResource 是自定义资源名称,可以自由定义。ServiceToken 是 AWS Lambda 的 ARN,ID 是自定义资源的属性。

  1. 配置以下环境变量:
环境变量名 含义
ROLES_TO_ASSUME 要使用的 AWS 角色
ARTIFACTS_BUCKET 构建工件所在的 S3 存储桶。
CFN_POLLING_INTERVAL (可选)AWS CloudFormation 轮询的时间间隔。
SEND_TYPE (可选)指示事件侦听器是否将事件捕获并发送给事件中枢。
SEND_STACK_EVENTS (可选) 打开/关闭堆栈事件的发送功能。
SERVICE_NAME_POSTFIX 若干重复使用的前缀
  1. 在 AWS Console 上部署该 CloudFormation 模板。

更改/删除 CloudFormation 资源

请参照步骤 “创建 CloudFormation 资源”,不同之处是要修改对应的 AWS Lambda 函数和 CloudFormation 模板。

示例代码

这是一个使用 cfn-custom-resource-helper 来自定义 CloudFormation 资源的示例代码:

开始一个 Create 路径:

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

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

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

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

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

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

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

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

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

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

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

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

注:本篇文章的示例代码没有经过严格性能测试,不建议直接应用于生产环境。

学习与指导作用

cfn-custom-resource-helper 插件简化了 AWS CloudFormation 自定义资源的开发过程。同时,它提供了一套简洁、易于理解的 API,给初学者提供了学习的机会。对于经验丰富的开发人员,它是一个就可以用来优化和简化开发流程的工具。

总之,学习 cfn-custom-resource-helper 对于扩展 CloudFormation 开发技能来说是有指导意义的。

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

纠错
反馈