使用 serverless-aws-api-gateway-utils 的指南

阅读时长 6 分钟读完

Serverless 架构是现代 Web 开发的新趋势,AWS API Gateway 是在 AWS Lambda 上部署 API 的一种方法。 Serverless Framework 可以轻松地封装 Lambda 和 API Gateway 并提供无服务器架构的强大能力。 serverless-aws-api-gateway-utils 是一种 npm 包,它提供了一些有用的函数来帮助在 Serverless Framework 中创建和管理 API Gateway, 本篇文章将介绍如何正确地使用该 npm 包的方法。

安装

安装 serverless-aws-api-gateway-utils 可以通过 npm 命令完成:

使用

Api Gateway 对授权和认证有很高的安全要求,所以开发者必须充分了解所有方面的内容。此 npm 包中提供的工具是很有帮助的。

createDeployment

使用 createDeployment 函数可以轻松地创建一个新的 API Gateway 部署。 createDeployment 函数需要一个 AWS SDK 的 APIGateway 类的实例以及一个 stageName 作为参数。 下面是一个示例:

createDeployment 方法返回一个 promise ,成功时返回新部署的信息,失败时返回错误。 在使用此函数之前,必须先创建一个新的 API Gateway 部署。

createResource

创建一个新的 API 资源通常涉及到多个步骤。使用 createResource 函数可以大大简化这个过程,并且您可以在同一时间内创建多个子资源和方法。createResource 函数需要 AWS SDK 的 APIGateway 类的实例、一个 Rest API ID、一个父资源 ID 和要创建的资源对象作为参数。 下面是一个示例:

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

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

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

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

createResource 方法返回一个 promise,成功时返回新资源的信息,失败时返回错误。

createMethod

使用 createMethod 函数可以轻松地为新资源创建一个新的 HTTP 方法。 createMethod 函数需要 AWS SDK 的 APIGateway 类的实例、一个 Rest API ID、要添加方法的资源 ID,HTTP 方法和 Lambda ARN 作为参数。 下面是一个示例:

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

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

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

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

使用 createMethod 后,您还需要为您的 API 部署更新。您可以使用上面提到的 createDeployment 函数来完成此操作。

createAuthorizer

使用 createAuthorizer 函数可以创建一个新的 API Gateway 的授权程序。 createAuthorizer 函数需要一个 AWS SDK 的 APIGateway 类的实例以及要添加的授权数据。授权对象应该如下所示:

授权对象包含应该由 API Gateway 使用的授权类型和授权程序的名称和其他详细信息。 下面是一个示例:

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

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

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

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

createAuthorizer 方法返回一个 promise,成功时返回新授权程序的信息,失败时返回错误。

结论

使用 serverless-aws-api-gateway-utils 这个 npm 包,您可以轻松地创建和管理 API Gateway,大大减少了在创建 API Gateway 时所需的工作。此外,它还提供了有助于提高 API Gateway 安全性的授权和认证工具。如果您正在使用 Serverless Framework 框架,并且需要帮助管理 API Gateway,请尝试使用该 npm 包吧!

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

纠错
反馈