npm 包 @netlify/zip-it-and-ship-it 使用教程

阅读时长 9 分钟读完

1. 什么是 @netlify/zip-it-and-ship-it

@netlify/zip-it-and-ship-it 是一个用于打包和部署 Node.js Lambda 函数的工具。它可以帮助开发者快速打包 Lambda 函数并将其部署至 AWS Lambda。

该工具基于以下技术:

  • webpack:用于打包 Lambda 函数及其依赖。
  • serverless-webpack:解析和打包 Serverless 项目的插件。
  • serverless-plugin-aws-alerts:必要的插件,为 AWS Lambda 函数添加警报。
  • serverless-plugin-warmup:必要的插件,启用 Serverless 函数的随时可用功能。

2. 安装和配置

安装

使用以下命令安装 @netlify/zip-it-and-ship-it:

此外,你还需要安装最新版本的 AWS CLI。

配置

在使用 @netlify/zip-it-and-ship-it 之前,你需要首先完成以下配置步骤:

  1. 确认 AWS 访问密钥和安全访问密钥 ID。 这些密钥将允许您在服务器上进行操作。 如果您需要创建新密钥,可以在 AWS IAM 控制台上执行此操作。
  2. 配置 AWS CLI,以便每个命令都知道使用哪个 AWS 帐户和哪个区域。 您可以在 aws configure 命令中设置这些设置。

3. 使用方法

创建一个新的 Serverless 项目

为了使用 @netlify/zip-it-and-ship-it,您需要创建一个新的 Serverless 项目。 为此,请使用以下命令:

这将创建一个名为"my-service"的文件夹,其中包含一个名为"handler.js"的文件。 handler.js 文件的内容如下:

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

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

您可以通过修改 handler.js 文件中的内容来创建自己的 Lambda 函数。

安装依赖

在您的 Serverless 项目文件夹中,使用以下命令安装依赖:

编辑 serverless.yml

接下来,您需要编辑 serverless.yml 文件,以配置和部署您的 Serverless 应用程序。 在这个例子中,我们使用以下配置:

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

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

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

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

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

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

其中,functions 内部包含您的 Lambda 函数的信息。 对于每个函数,您需要指定其 handler 和事件。

自定义部分是用于构建您的 Serverless 应用的 Webpack 配置。

创建 webpack.config.js 文件

在您的 Serverless 项目文件夹中,创建名为 webpack.config.js 的文件,并添加以下内容:

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

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

打包和部署应用程序

一旦您完成了 serverless.yml 和 webpack.config.js 文件的编辑,就可以打包和部署应用程序了。

使用以下命令打包应用程序:

此命令将您的代码和所有依赖项打包到一个 zip 文件中。

最后,使用以下命令将您的 Serverless 应用程序部署到 AWS Lambda 中:

4. 示例代码

以下是一个使用 @netlify/zip-it-and-ship-it 打包和部署 Lambda 函数的示例代码:

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

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

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

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

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

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

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

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

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

使用命令行工具,您可以运行以下命令:

之后您会成功部署 Lambda 函数,并可以使用以下 URL 来调用它:

5. 总结

@netlify/zip-it-and-ship-it 是一个方便的工具,可帮助您快速打包和部署 Lambda 函数至 AWS Lambda。 在本教程中,我们介绍了如何安装和配置 @netlify/zip-it-and-ship-it,创建和编辑 serverless.yml 文件和 webpack.config.js 文件,以及如何打包和部署应用程序。

还有更多内容需要理解,比如使用 AWS CLI,详细了解 serverless.yml 和 webpack.config.js 文件的各个部分,以及如何在开发过程中修复错误。 但是,一旦您熟悉了这个工具和相关技术,您将可以更轻松地创建和分发 Serverless Lambda 函数,从而加速您的项目开发和部署流程。

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

纠错
反馈