npm 包 serverless-stack-output 使用教程

在 Serverless 架构中,经常需要将资源创建的输出值(如 API 网关 URL、数据库地址、S3 存储桶名称等)传递给其他函数或服务。serverless-stack-output 是一个 Node.js 模块,用于在 Serverless 架构中存储和管理输出值。

本文将介绍如何使用 npm 包 serverless-stack-output,以及如何在项目开发中优雅地管理 Serverless 输出值。

安装 serverless-stack-output

可以通过 npm 安装 serverless-stack-output:

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

初始化 Serverless 项目

在介绍如何使用 serverless-stack-output 之前,需要先创建一个简单的 Serverless 项目。

创建服务

首先,在终端中输入以下命令,创建一个使用 AWS Lambda 做为计算服务、Amazon API Gateway 做为 HTTP API 的服务。

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

配置服务

在服务的根目录中,创建一个 serverless.yml 文件。用于配置服务和 Lambda 函数。

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

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

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

服务中创建了一个名为 hello 的函数,用于响应 HTTP 请求。在浏览器中打开服务 URL,将会看到该函数的响应结果。

配置 AWS 凭证

需要为服务配置 AWS 凭证,才能访问 AWS 资源。

在系统中配置 AWS 凭证环境变量:

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

部署服务

最后,部署服务:

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

服务的 API 地址将会在输出信息中显示出来,记下这个地址,用于后面的测试。

使用 serverless-stack-output

接下来,我们将使用 serverless-stack-output,将服务的 API 地址传递给另一个函数或服务。

安装 serverless-stack-output

在项目根目录中,输入以下命令,将 serverless-stack-output 安装为依赖。

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

配置输出值

在 serverless.yml 文件中,添加一个名称为 api 的输出值:

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

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

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

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

这里的 Fn::Join 函数用于将 API Gateway 地址组合在一起。${AWS::Region} 将会被替换为 AWS 区域名称,这里默认是 us-east-1。

调用输出值

在 Lambda 函数中使用 serverless-stack-output,将会对输出值进行缓存,避免了每次请求都需要读取 AWS CloudFormation。

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

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

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

这里 get 方法返回一个字符串类型的 API Gateway 地址。

部署服务

重新部署服务,部署完成后,使用 get 方法获取 API Gateway 地址:

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

结论

在使用 Serverless 架构时,管理资源的输出值是一项重要的工作。serverless-stack-output 模块提供了一种轻松的方式解决这个问题。使用本文提供的方法,在 Serverless 项目中轻松地存储和管理输出值。

更多 serverless-stack-output 使用方式,请参考开发者文档和服务器配置。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005671281e8991b448e35df


猜你喜欢

  • npm 包 react-oss-upload 使用教程

    在前端开发中,文件的上传和保存是一个非常重要的功能。阿里云提供的 OSS(Object Storage Service)是一种云存储服务,可以提供一个安全快速的对象存储服务。

    3 年前
  • npm 包 amylase 使用教程

    Amylase 是一个基于 React 和 D3.js 的可重用数据可视化组件库。该组件库提供了丰富的图表类型,以及简单易用的 API 接口,使得开发者能够轻松地创建出漂亮且交互性强的图表。

    3 年前
  • npm 包 sleep 使用教程

    sleep 是一个 npm 包,可让 JavaScript 在一段时间内暂停操作。这对于需要等待某些东西完成的程序很有用。在本文中,我们将介绍如何在 Node.js 和浏览器中使用 sleep 库。

    3 年前
  • npm 包 storybook-qr 使用教程

    在前端开发中,我们使用 Storybook 来搭建 UI 组件库。而在进行组件库测试的时候,我们经常需要在不同设备上测试 Storybook 页面。在这种情况下,一个简单且可行的方式是使用 QR co...

    3 年前
  • npm 包 unlace 使用教程

    unlace 是一款优秀的前端常用工具库,其主要功能是提供一种简单易用的方法来压缩和解压缩文字。本文将详细介绍如何在前端中使用 npm 包 unlace。 为什么使用 unlace unlace 提供...

    3 年前
  • npm 包 webpack-visual-studio-reporter 使用教程

    前言 在前端开发中,Webpack 是一个非常强大的 Bundler,但是在使用的过程中,有时会出现错误或警告,需要定位问题。此时,我们可以使用 webpack-visual-studio-repor...

    3 年前
  • npm 包 cordova-plugin-crosswalk-data-migration 使用教程

    前言 Cordova 是一个基于 HTML、CSS、JavaScript 技术的混合应用开发框架,能够使用统一的代码实现多个平台的应用程序开发。而 Cordova 的插件系统则可以帮助开发者很方便地为...

    3 年前
  • npm包 brinkbit.js 使用教程

    npm包 brinkbit.js 使用教程 在前端开发中,我们经常需要用到各种npm包来简化我们的代码量和提高我们的开发效率。其中 brinkbit.js 是一个非常受欢迎的npm包,它可以帮助我们更...

    3 年前
  • npm 包 ionic-swiper 使用教程

    在前端开发中,Swiper 是一个很常用的插件,可以用来实现多种动态展示效果,比如轮播图、图片墙、卡片翻转等。在这篇文章中,我们将介绍一个基于 Ionic 框架的 Swiper 插件 - ionic-...

    3 年前
  • npm 包 kodieren 使用教程

    前端开发是一个不断进化的领域,因此为了提高开发效率和代码质量,经常需要使用各种 npm 包。在这篇文章中,我们将介绍一个使用 kodieren npm 包的详细教程,这个包可以帮助你更好地处理 URL...

    3 年前
  • NPM 包 klaw-redux 使用教程

    在前端开发中,我们通常需要处理文件系统中的文件,例如读取目录下的所有文件或过滤特定类型的文件等。现在有一个 NPM 包 klaw-redux 可以帮助我们用更方便的方式处理文件系统,本文将详细介绍它的...

    3 年前
  • npm 包 lhvm 使用教程

    在前端开发过程中,我们经常需要使用各种各样的工具和库,这时候 npm 包就能够大显身手了。本文将介绍一个实用的 npm 包 lhvm,它的使用方法和具体操作步骤。 什么是 lhvm? lhvm 是一个...

    3 年前
  • npm 包 shorten-anonymize-url 使用教程

    随着互联网的发展,网页的使用量也越来越高。对于一些需要保护隐私的网页,我们往往需要使用一些匿名化的工具。 今天,我要介绍一款 npm 包:shorten-anonymize-url,它可以缩短并匿名化...

    3 年前
  • npm 包 small-id 使用教程

    在前端开发中,我们经常需要生成唯一的标识符,比如说给一组数据分配 ID,或者是生成随机的字符串作为验证码等。为了方便开发者进行这类操作,npm 上出现了许多生成 ID 的包,其中小巧但功能强大的 sm...

    3 年前
  • npm 包 protoculture-electron 使用教程

    概述 protoculture-electron 是一个 npm 包,可以用于快速搭建 Electron 应用程序的基础框架。该框架基于 TypeScript、React 和 MobX,并提供了一些常...

    3 年前
  • npm 包 http-code-translator 使用教程

    npm 包 http-code-translator 使用教程 在前端开发的过程中,我们经常会遇到各种 HTTP 错误码。如果我们不对这些错误码进行处理,用户将无法清楚的了解错误原因,甚至会造成用户的...

    3 年前
  • npm 包 snacklib 使用教程

    在前端开发中,我们经常需要使用一些第三方工具库来提高产品质量和开发效率。其中一个非常重要的工具是 npm 包(Node.js 的包管理工具),它可以让你方便地获取和管理各种 JavaScript 库。

    3 年前
  • npm 包 eslint-config-posrix 使用教程

    简介 eslint-config-posrix 是一个支持 POSRIX 命令风格的 ESLint 配置包。使用该包可以帮助前端开发人员更轻松地编写符合 POSRIX 命令风格的代码。

    3 年前
  • npm 包 experimenter 使用教程

    在现代化的 Web 开发中,前端被越来越重视。随着前端开发的发展,一些帮助开发者提高效率和体验的工具也相应涌现出来。其中,npm 包 experimenter 就是一款非常实用、高效的工具。

    3 年前
  • npm 包 vnng-rest 使用教程

    vnng-rest 是一个用于简化前端与后端数据交互的 npm 包。它提供了一些简单易用的方法,可以帮助你快速的实现数据的请求和响应。 安装和使用 vnng-rest 是一个基于 axios 的封装,...

    3 年前

相关推荐

    暂无文章