【问题标题】:How to install Lambda function on AWS?如何在 AWS 上安装 Lambda 函数?
【发布时间】:2016-05-07 03:33:37
【问题描述】:

好的,我是使用 Amazon Web Services 的新手,一切看起来都一团糟,我现在不确定该走哪条路。

我正在尝试使用 Lambda 函数调整上传到 S3 存储桶的图像大小。为此,我发现 an AWS Lambda Function to resize/reduce images automatically 适合我的需求。

这就是它的安装

$ git clone git@github.com:ysugimoto/aws-lambda-image.git
$ cd aws-lambda-image
$ npm install .

所以我想,首先我应该通过 SSH 连接到 AWS。为此,我遵循了 AWS 教程:Setup Steps for SSH Connections to AWS CodeCommit Repositories on Windows

最终以一条成功消息结束,随后出现一条错误,正如预期的那样:“您已成功通过 SSH 进行身份验证。您可以使用 Git 与 AWS CodeCommit 交互。不支持交互式 Shell。致命错误:服务器关闭网络连接"

接下来,我该如何实际安装这个 Lambda 函数?

当不允许交互式 SSH 连接时,我如何运行这样的命令来配置所述功能 $ cp config.json.sample config.json?任何想法或线索?我做错了吗?

【问题讨论】:

  • AWS CodeCommit 与您在此处尝试执行的任何操作都没有任何关系。这些安装步骤只是您需要执行的步骤的第一部分。您需要在该服务器中创建一个运行 Amazon Linux 和 SSH 的 AWS EC2 服务器,然后执行下载、编译和打包 Lambda 函数的所有步骤。然后从该服务器获取 zip 文件并将其上传到 AWS Lambda 服务。
  • @Mark B 哇。但是是否应该在不需要 EC2 服务器的情况下使用 Lambda 函数?这不是整个想法吗?
  • 它不在 EC2 服务器上运行,但您甚至还没有到在 Lambda 上运行该函数的地步。您仍然需要构建和打包函数并将其上传到 Lambda,并且由于您的函数需要仅在 Amazon Linux 上可用的某些包,因此您需要创建 Amazon Linux 服务器来构建它。
  • 您发布的链接提供了有关如何配置和构建 Lambda 应用程序的说明。构建完成后,您需要创建一个 Lambda 函数,并上传这个刚刚创建的应用程序。要最终确定,您需要链接 Lambda 函数以在新事件时执行 - 特别是将文件上传到特定 S3 存储桶的事件。这个问题表明缺乏研究。首先,我建议先研究“如何创建 Lambda 函数”,然后再研究“Lambda 事件源 S3”。
  • 我怀疑你想使用某种形式的 git-deployment 并运行教程中提到的aws cli 命令作为提交后挂钩? CodeCommit 提供源代码控制,没有钩子或外壳访问,因此它不能充当打包/部署机器。最简单的解决方案是使用本地计算机来执行此操作,可选择从 CodeCommit 或本地存储库克隆内容。有一些工具可以自动执行此操作,例如 Node-Lambdanode-aws-lambda

标签: git amazon-web-services ssh amazon-s3 aws-lambda


【解决方案1】:

我怀疑你想使用某种形式的 git-deployment 并运行教程中提到的aws cli 命令作为提交后挂钩? CodeCommit只提供源代码控制,没有钩子或外壳访问,因此它不能充当打包/部署机器。

最简单的解决方案是使用本地计算机来执行此操作,可选择从 CodeCommit 或本地存储库克隆内容。有一些工具可以自动执行此操作,例如 node-lambdanode-aws-lambda

如 cmets 中所述,替代方法是创建一个小型 EC2 实例来充当打包机。

【讨论】:

    【解决方案2】:

    Tutorial: Using AWS Lambda with Amazon S3 展示了如何实施 Lambda 函数来调整上传到 Amazon S3 的图像大小。

    此外,作为调整图像大小的替代方法,请考虑使用动态调整大小服务,例如 CloudinaryImgix

    【讨论】:

    • 该链接没有回答 OP 的问题 - 如何从源代码控制部署 Lambda。正确的答案是“您需要使用 aws cli 执行这些 shell 命令”
    猜你喜欢
    • 1970-01-01
    • 2019-11-09
    • 2020-05-14
    • 2017-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-15
    • 1970-01-01
    相关资源
    最近更新 更多