• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

aws对象存储s3lambda实现图片裁剪

武飞扬头像
OfficerGoodbody
帮助1

存储桶名称:wmmzz

1.存储桶策略设置

  1.  
    {
  2.  
    "Version": "2012-10-17",
  3.  
    "Statement": [
  4.  
    {
  5.  
    "Sid": "PublicReadGetObject",
  6.  
    "Effect": "Allow",
  7.  
    "Principal": "*",
  8.  
    "Action": "s3:GetObject",
  9.  
    "Resource": "arn:aws:s3:::wmmzz/*"
  10.  
    }
  11.  
    ]
  12.  
    }
学新通

2. 创建lambda函数

学新通

点击跳转到IAM控制台,创建自定义角色,选择服务类型lambda,创建策略

  1.  
    {
  2.  
    "Version": "2012-10-17",
  3.  
    "Statement": [
  4.  
    {
  5.  
    "Effect": "Allow",
  6.  
    "Action": [
  7.  
    "logs:CreateLogGroup",
  8.  
    "logs:CreateLogStream",
  9.  
    "logs:PutLogEvents"
  10.  
    ],
  11.  
    "Resource": "arn:aws:logs:*:*:*"
  12.  
    },
  13.  
    {
  14.  
    "Effect": "Allow",
  15.  
    "Action": "s3:PutObject",
  16.  
    "Resource": "arn:aws:s3:::wmmzz/*"
  17.  
    }
  18.  
    ]
  19.  
    }
学新通

输入策略下一步取名resize-policy,回到创建角色页面,搜索刚才创建的策略选中,再搜索AmazonS3FullAccess选中

学新通

点击下一步,输入角色名称resize-role,点击“创建角色”。

回到创建函数页面,选择“使用现有角色”,选择刚才创建的角色:

学新通

然后点击右下角创建函数

3.添加触发器

回到创建函数页面的顶部 Designer 部分, 左边有一个  添加触发器 的选项单击,
选择 API Gateway
创建新的API
安全: 打开

学新通

点击添加
回到界面顶部,选择DesignerAPI Gateway. 点击API Gateway 下面的详细信息 复制API 终端节点URL

学新通

4: 桶静态网站托管配置

回到S3桶的设置界面: 属性 -> 静态网站托管
索引文档:index.html
错误文档:error.html
重定向规则:

  1.  
    [
  2.  
    {
  3.  
    "Condition": {
  4.  
    "HttpErrorCodeReturnedEquals": "404"
  5.  
    },
  6.  
    "Redirect": {
  7.  
    "HostName": "wmmzz.execute-api.ap-east-1.amazonaws.com",
  8.  
    "HttpRedirectCode": "307",
  9.  
    "Protocol": "https",
  10.  
    "ReplaceKeyPrefixWith": "default/resize?path="
  11.  
    }
  12.  
    }
  13.  
    ]
学新通

注意上面的 HostName 和 ReplaceKeyPrefixWith 内容分别为刚才复制的API终端节点的值。

5. 配置lambda环境变量

  1.  
    BUCKET=wmmzz
  2.  
    URL=http://wmmzz.s3-website.ap-east-1.amazonaws.com
  3.  
    WHITELIST=100x100 #选择性使用,表示只允许裁剪成100x100的规格,可填写其他规格,其中x为字母
学新通
URL填写下图链接
学新通

6. 上传resize函数代码

下载地址: https://github.com/sagidM/s3-resizer/releases/tag/3.1.0

https://pan.百度.com/s/12uMbrJmoHjvwdzFmPfH1MQ

学新通

7. 测试

学新通
  1.  
    {
  2.  
    "queryStringParameters": {
  3.  
    "path": "image/100x100/1.jpg"
  4.  
    }
  5.  
    }
学新通
学新通
location后的链接就是裁剪后的图片地址,可直接访问

参考文献:

https://blog.csdn.net/wjm158/article/details/108209109

https://github.com/sagidM/s3-resizer

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhhhhhfc
系列文章
更多 icon
同类精品
更多 icon
继续加载