对于 AWS Lambda 来说是全新的,所以我什至不确定这是否是完成我想要做的事情的正确工具。
基本上我想做的是检查文件是否存在或者最近在 S3 中是否更新。如果该文件不存在或最近没有更新,我希望将 AMI 克隆到 AWS 实例。
- 以上可能吗?
- Lambda 是适合这项工作的工具吗?
我在 JavaScript 方面相当有能力,但从未使用过 Node.js 或 Python,因此编写 Lambda 函数对我来说似乎很复杂。
您知道有哪些资源可以帮助构建 Lambda 函数吗?
谢谢!
最佳答案
如果您了解 Javascript 并了解 NPM,这会很容易。让我为您提供使用 Node js 的简单方法:
- 登录您的 AWS。
- 转到 AWS 控制台菜单,点击右上角的按钮。
- 选择 lambda,单击函数并创建新函数。
- 点击蓝图页面上的跳过按钮。
- 跳过配置触发页面。
- 您将看到配置函数页面,然后您可以填写函数名称,运行时使用NodeJS.4.3,并选择代码类型内联编辑代码
- 在编辑内联代码框中,您必须选择您曾经拥有的 IAM 角色。如果您没有任何 IAM 角色,请转到 AWS 控制台并选择身份和访问管理(IAM),选择角色并创建新角色。
- 如果您已完成所有必填字段的填写,则可以点击“下一步”并创建 Lambda 函数。
注意:在您的编辑代码内联框中,请写下以下代码:
exports.handler = function(event, context, callback) {
var AWS = require('aws-sdk');
AWS.config.update({accessKeyId: 'xxxxxxxxxxx', secretAccessKey: 'xxxxxxxxxxxxxxxxxxxx'});
var s3 = new AWS.S3();
var params = {Bucket: 'myBucket', Key: 'myFile.html'};
s3.getObject(params, function(err, data) {
if (err) {
console.log(err, err.stack);
// file does not exist, do something
}
else {
console.log(data);
//file exist, do something
}
});
};
您可以从 IAM 菜单 -> 用户 -> 安全凭证 -> 创建访问 key 获取 accessKeyId。那么你也会得到secretAccessKey。
希望这个回答对您有帮助。
关于amazon-web-services - 如何使用AWS Lambda检查S3中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39357879/