亚马逊云科技为用户提供整套基础设施和云解决方案,包括计算、存储、网络、数据库等多个方面的云服务,包括Amazon S3、Amazon Lambda等热门云产品,本教程就来为大家介绍下使用亚马逊Amazon S3触发器调用Lambda函数的流程,有需要的朋友可以参考一下。
本文涉及到的亚马逊免费云服务:
1、Amazon Lambda
Amazon Lambda是一种无服务器计算服务,用户无需管理服务器即可自动扩展应用程序。目前官网提供的免费套餐包括每月免费提供100万个请求,永久免费使用。
2、Amazon S3
Amazon S3是一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。目前官网提供的免费套餐包括5GB标准存储、20000个Get请求、2000个PUT/COPY/POST或LIST请求,可以免费试用12个月。
免费领取:亚马逊免费云服务
新用户注册亚马逊云科技账户,即可免费使用以上免费云服务产品。
相关推荐:《如何注册亚马逊AWS账号》
一、创建Amazon S3存储桶并上传对象
1、进入亚马逊云科技官网,注册并登录账号。
2、打开Amazon S3控制台并选择通用存储桶页面。
3、选择最接近用户地理位置的Amazon Web Services区域,用户可以使用屏幕顶部的下拉列表更改区域。
4、选择Create bucket(创建存储桶)。
5、在General configuration(常规配置)下,执行以下操作:
对于存储桶类型,确保选中通用型。
对于存储桶名称,输入符合Amazon S3存储桶命名规则的全局唯一名称。存储桶名称只能由小写字母、数字、句点(.)和连字符(-)组成。
6、将所有其他选项设置为默认值并选择创建存储桶。
7、打开AWS S3控制台的存储桶页面,选择创建的存储桶。
8、选择上传。
9、选择添加文件,然后选择要上传的对象。
10、选择打开,然后选择上传。
二、创建权限策略和执行角色
1、打开IAM控制台的Policies(策略)页面。
2、选择创建策略。
3、选择JSON选项卡,然后将以下自定义策略粘贴到JSON编辑器中。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:PutLogEvents",
"logs:CreateLogGroup",
"logs:CreateLogStream"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": "arn:aws:s3:::*/*"
}
]
}
4、选择下一步:标签。
5、选择下一步:审核。
6、在Review policy(查看策略)下,为策略Name(名称)输入s3-trigger-tutorial。
7、选择创建策略。
8、打开IAM控制台的角色页面。
9、选择创建角色。
10、对于可信实体,选择Amazon服务,对于使用案例,选择AWS Lambda。
11、选择下一步。
12、在策略搜索框中,输入s3-trigger-tutorial。
13、在搜索结果中,选择您创建的策略(s3-trigger-tutorial),然后选择Next(下一步)。
14、在Role details(角色详细信息)下,为Role name(角色名称)输入lambda-s3-trigger-role,然后选择Create role(创建角色)。
三、创建Amazon S3触发器并调用Lambda函数
之前已经为大家介绍了创建Amazon Lambda函数的流程,有需要的朋友可以参考一下:《AWS Lambda创建第一个函数的具体教程》
1、在函数概述窗格中,选择添加触发器。
2、选择S3。
3、在存储桶下,选择用户在本教程前面步骤中创建的存储桶。
4、在事件类型下,确保已选择所有对象创建事件。
5、在递归调用下,选中复选框以确认知晓不建议使用相同的Amazon S3存储桶用于输入和输出。
6、选择添加。
7、打开CloudWatch控制台。
8、选择日志,然后选择日志组。
9、选择函数(/aws/lambda/s3-trigger-tutorial)的日志组。
10、在日志流下,选择最新的日志流。
11、如果已正确调用函数来响应Amazon S3触发器,用户会看到如下输出。
2022-05-09T23:17:28.702Z 0cae7f5a-b0af-4c73-8563-a3430333cc10 INFO CONTENT TYPE:
image/jpeg