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

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


猜你喜欢

  • npm 包 @aws-cdk/aws-secretsmanager 使用教程

    前言 AWS Cloud Development Kit (AWS CDK) 是一项用于定义基础架构的软件工具套件,该工具套件使用 familiar programming languages 来进行...

    4 年前
  • npm 包 @aws-cdk/aws-cloudtrail 使用教程

    AWS CloudTrail 是 AWS 服务的一项日志监控服务,可以记录用户在 AWS 管理控制台和 AWS CLI 中执行的操作并生成 JSON 格式的跟踪文件。

    4 年前
  • 使用 npm 包 updater-contributors 更新贡献者列表

    作为一名前端开发者,在参与项目开发时我们经常会遇到需要更新贡献者列表的情况。如果团队人数较多,手动更新将会是一项繁琐的工作,而 npm 包 updater-contributors 则可以帮助我们解决...

    4 年前
  • NPM 包 0http 使用教程

    在前端开发中,我们经常需要借助各种第三方库来完成工作。其中,NPM 是一个非常重要的工具,它提供了丰富的包管理和依赖解决方案。在 NPM 中有许多优秀的第三方库供我们使用,这些库简化了我们的开发流程,...

    4 年前
  • npm 包 java-invoke-local 使用教程

    简介 java-invoke-local 是一个 npm 包,它允许你在本地端运行 Java 代码。通过这个包,你可以在前端应用中使用 Java 代码,而不用担心如何远程调用或是将 Java 代码转换...

    4 年前
  • npm 包 middleware-if-unless 使用教程

    在 Web 开发中,中间件是不可或缺的一个组成部分。中间件的作用就是在处理请求和响应之间进行加工和处理,以便于进行编写和开发。其中,Express.js 是一个流行的 Web 框架,它提供了一种方便的...

    4 年前
  • npm 包 on-http-end 使用教程

    简介 在前端开发中,我们经常需要对 HTTP 请求进行一些特殊处理,比如记录日志、统计响应时间、添加请求头等等。但是直接在业务代码中添加这些处理逻辑会导致代码混乱不堪,可维护性差。

    4 年前
  • npm 包 http-cache-middleware 使用教程

    简介 Http-cache-middleware 是一个 npm 包,它提供了对 HTTP 缓存的简洁易用的封装。通过使用它,我们可以轻松地在前端应用中实现 HTTP 缓存的功能,以更好地优化前端性能...

    4 年前
  • npm 包 @polka/url 使用教程

    在前端开发中,URL 是一个非常重要的概念。要在 Web 应用程序中正确处理 URL,需要使用一些 JavaScript 库。其中,@polka/url 是一个流行的 npm 包,它可以帮助我们解析 ...

    4 年前
  • npm 包 anumargak 使用教程

    在前端开发中,我们经常需要进行路由路径处理,而anumargak是一个能够让路由更易于管理和维护的npm包。本文将对anumargak的使用进行介绍,帮助读者更好地掌握它的使用方法。

    4 年前
  • npm 包 Muneem 的使用教程

    本文将介绍如何使用 npm 包 Muneem 来构建 Node.js 应用的中间件和流。Muneem 能够很大程度减少代码量和开发时间,同时具备优秀的性能。 Muneem 简介 Muneem(Gi...

    4 年前
  • npm 包 @types/prettyjson 使用教程

    在前端开发中,我们经常需要使用 JSON 数据格式。如果我们需要在控制台上输出 JSON 数据,通常会使用 console.log(JSON.stringify(data, null, 4)) 来美化...

    4 年前
  • npm 包 moq.ts 使用教程

    前言 在前端开发中,经常需要对一些接口进行单元测试,为了避免对接口的过度依赖,测试时我们需要使用一个桩(Mock)。moq.ts 是一个基于 TypeScript 的 Mock 框架,可以帮助我们更方...

    4 年前
  • npm 包 mocha-jscs 使用教程

    在前端开发中,代码的质量非常重要。为了保证代码的质量,我们经常需要运用一些工具或者代码规范来检测和纠正代码中的错误和不规范的用法。mocha-jscs 就是其中一种工具,它可以结合 mocha 和 j...

    4 年前
  • npm 包 sway 使用教程

    随着前端技术的发展,越来越多的开发者开始使用 npm 包来管理自己的项目依赖。而 sway 是一个非常优秀的 npm 包,它提供了强大的 API 来帮助开发者构建高质量的、可维护的 API 文档。

    4 年前
  • npm 包 swagger-converter 使用教程

    什么是 swagger-converter? swagger-converter 是一个可以将 OpenAPI 规范转换成 Swagger 规范或反之的 npm 包。

    4 年前
  • NPM 包 Vinyl-Browserify 使用教程

    简介 Vinyl-Browserify 是基于 Node.js 的构建工具 Browserify 所提供的 Vinyl 转换器(Transformer),用于对 Node.js 的 Vinyl 文件对...

    4 年前
  • npm包swagger-tools使用教程

    Swagger 是一种 API 描述语言,它可以帮助我们更加方便地编写和维护 API 文档。Swagger-tools 则是 Swagger 的一个 npm 包,提供了各种 API 构建和管理工具,它...

    4 年前
  • npm 包 @loopback/metadata 使用教程

    在现代的 Web 应用程序中,前端应用程序已经成为了应用程序的主要入口点。为了更好地组织和管理前端代码,有很多前端框架和库可以用来加速开发。其中,Node.js 的 npm 包管理器是前端开发中使用最...

    4 年前
  • npm 包 @loopback/context 使用教程

    简介 在现代互联网应用中,前后端分离是必不可少的。前端作为用户与系统之间的桥梁,起到了至关重要的作用。在前端的开发过程中,需要使用很多工具和库来实现各种功能。其中,@loopback/context ...

    4 年前

相关推荐

    暂无文章