【发布时间】: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-Lambda 或 node-aws-lambda
标签: git amazon-web-services ssh amazon-s3 aws-lambda