npm 包 probot-webhook-to-sns 使用教程

阅读时长 4 分钟读完

简介

probot-webhook-to-sns 是一个 npm 包,它将 GitHub Webhook 转换成 Amazon SNS 消息,以便进一步处理和分发。此包主要用于将 GitHub 事件发送到 SNS 主题,这个主题可以将事件路由到 SNS 订阅,以便执行进一步的处理样式,如启动 AWS Lambda 函数。

安装

使用 npm 进行安装:

使用

要使用 probot-webhook-to-sns,你需要在你的 Probot 应用程序中创建一个新的 webhook:

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

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

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

在上述代码中,我们使用 createSnsWebhook 方法创建了一个新的 webhook,该方法接受一个包含以下参数的对象:

  • topicArn (string, required): 要发布消息到的 SNS 主题的 ARN。
  • compress (boolean, optional): 是否启用压缩消息。默认为 false

接下来,您可以在应用程序中使用正常的 Probot 事件处理程序,而 probot-webhook-to-sns 将负责将事件发送到 SNS 主题中。

下面是一个将 pull_request 事件发送到 SNS 主题的示例:

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

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

附加说明

  • createSnsWebhook 函数返回一个 Express webhook 处理程序,因此您可以像在 Express 应用程序中一样使用它。

  • 应用程序必须将 body-parser 添加为导入其 webhooks 的 Express 中间件,否则 probot-webhook-to-sns 将指定请求正文为未解析的原始 buffer。

  • probot-webhook-to-sns 还提供了一些其他功能,如 createSnsClient 方法,用于创建 SNS 客户端,以便在事件处理程序中发送进一步的 SNS 请求。

结论

probot-webhook-to-sns 在将 GitHub Webhook 消息发送到 SNS 中心时提供了一种方便的方式。我们希望本教程能够帮助你轻松地开始使用这个 npm 包,并为你介绍了如何在自己的应用程序中使用它。如果你有更多的问题,请查阅官方文档寻找更多帮助。

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

纠错
反馈