这篇文章分享如何在AWS上实现S3存储桶上传图片自动缩放。
整体流程:将图片上传到源存储桶,通过事件触发lambda函数,lambda获取上传的图片进行缩放处理,再将处理完成的图片存入到目标存储桶。如图1所示:
![a49d07a790fef651ca0d64e77e8c3fcc.png](https://i-blog.csdnimg.cn/blog_migrate/8e63b45a7fae3eafd3c161170075250c.png)
图1
步骤1 创建存储桶
在S3控制台创建存储桶,需要创建两个存储桶,一个是源存储桶xytempbucket,一个是目标存储桶xytempbucketresized(创建过程省略),区域为欧洲巴黎。如图2所示
![26bac5eaf70411f3b2e909f63d5def69.png](https://i-blog.csdnimg.cn/blog_migrate/3289f4fb1f14ab8dac7f7785f377c9d4.jpeg)
图2
步骤2 创建策略
IAM控制台->创建策略,将以下内容复制到json编辑框中,即可生成。
![96840f3421841b8e53b3fc4624727dfd.png](https://i-blog.csdnimg.cn/blog_migrate/b0f9e61c7df0ef0ef1563b874cf5fba6.png)
图3
注意:其中的源存储桶和目标存储桶要使用自己实际的存储桶ARN。
步骤3 创建角色
策略创建完成后,切换到IAM控制台,创建角色。
![7809410beee145536c26f5d19a2ccf73.png](https://i-blog.csdnimg.cn/blog_migrate/49187dbb1bd7f018012e0ce6707971f1.jpeg)
图4
创建由lambda服务使用的角色,如图12所示,并将步骤2中创建的策略附加到该角色上,如图5、图6所示。