NPM包 @aws-cdk/aws-sam 使用教程

阅读时长 5 分钟读完

AWS Serverless Application Model(SAM)可以让开发人员通过一些简单的模板和配置文件,轻松地构建基于 AWS Lambda 的 serverless 应用程序。SAM 还有自己的本地调试器和 CLI 工具。如果你是前端工程师,想要使用 Serverless 应用程序,那么这篇文章将对你有所帮助,它将详细讲解如何使用 NPM 包 @aws-cdk/aws-sam。

安装

在开始使用 @aws-cdk/aws-sam 之前,请确保已经安装 Node.js 和 AWS-CDK。要安装 @aws-cdk/aws-sam,可以按照以下命令:

使用

Lambda 函数

首先,我们需要定义一个 Lambda 函数。这个函数将接收两个数值作为参数,并且返回这两个数的和。让我们看看如何在 SAM 模板中定义这个函数:

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

在这里,我们使用 AWS::Serverless::Function 类型定义了一个 Lambda 函数。该函数的 CodeUri 为 ./src,是函数代码所在的文件夹。 Handler 属性指定了处理函数的代码位置和名称。Runtime 属性指定了代码运行的环境。Events 属性定义了与该函数关联的事件源,它在这里是一个 API。

API Gateway

我们需要一个 API Gateway 来触发 Lambda 函数。在 SAM 模板中,使用 AWS::Serverless::Api 类型定义 API Gateway:

在这里,我们使用 AWS::Serverless::Api 类型定义了一个 API Gateway。该 API 的 StageName 为 prod。

部署

现在,我们使用 AWS-CDK 部署 SAM 应用程序。使用以下命令:

这将构建和发布应用程序至 AWS 平台。

示例代码

下面是一个完整的 SAM 模板文件,其中包含了 Lambda 函数和 API Gateway 的定义:

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

app.js

这是一个简单的 Node.js Lambda 函数,其中两个数相加,并返回结果。

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

部署

使用以下命令,构建并发布 SAM 应用程序

总结

@aws-cdk/aws-sam 简化了云基础架构的开发和运维过程,使得前端开发人员不需要成为 DevOps 工程师,也可以简单地构建和部署 serverless 应用程序。在本文中,我们介绍了如何使用 @aws-cdk/aws-sam 构建和部署一个简单的 Lambda 函数和 API Gateway,并提供了完整的示例代码和模板文件,希望能够帮助你快速地入门学习 AWS 的 serverless 技术。

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

纠错
反馈