存儲桶名稱:wmmzz
1.存儲桶策略設置
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::wmmzz/*"
}
]
}
2. 創(chuàng)建lambda函數(shù)
點擊跳轉(zhuǎn)到IAM控制臺,創(chuàng)建自定義角色,選擇服務類型lambda,創(chuàng)建策略
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::wmmzz/*"
}
]
}
輸入策略下一步取名resize-policy,回到創(chuàng)建角色頁面,搜索剛才創(chuàng)建的策略選中,再搜索AmazonS3FullAccess選中
點擊下一步,輸入角色名稱resize-role,點擊“創(chuàng)建角色”。
回到創(chuàng)建函數(shù)頁面,選擇“使用現(xiàn)有角色”,選擇剛才創(chuàng)建的角色:
然后點擊右下角創(chuàng)建函數(shù)
3.添加觸發(fā)器
回到創(chuàng)建函數(shù)頁面的頂部 Designer 部分, 左邊有一個?+添加觸發(fā)器?的選項單擊,
選擇 API Gateway
創(chuàng)建新的API
安全: 打開
點擊添加
回到界面頂部,選擇Designer的API Gateway. 點擊API Gateway?下面的詳細信息?復制API 終端節(jié)點URL
4: 桶靜態(tài)網(wǎng)站托管配置
回到S3桶的設置界面:?屬性?->?靜態(tài)網(wǎng)站托管
索引文檔:index.html
錯誤文檔:error.html
重定向規(guī)則:
[
{
"Condition": {
"HttpErrorCodeReturnedEquals": "404"
},
"Redirect": {
"HostName": "wmmzz.execute-api.ap-east-1.amazonaws.com",
"HttpRedirectCode": "307",
"Protocol": "https",
"ReplaceKeyPrefixWith": "default/resize?path="
}
}
]
注意上面的 HostName 和 ReplaceKeyPrefixWith 內(nèi)容分別為剛才復制的API終端節(jié)點的值。
5. 配置lambda環(huán)境變量
BUCKET=wmmzz
URL=http://wmmzz.s3-website.ap-east-1.amazonaws.com
WHITELIST=100x100 #選擇性使用,表示只允許裁剪成100x100的規(guī)格,可填寫其他規(guī)格,其中x為字母
6. 上傳resize函數(shù)代碼
下載地址: https://github.com/sagidM/s3-resizer/releases/tag/3.1.0
https://pan.baidu.com/s/12uMbrJmoHjvwdzFmPfH1MQ
7. 測試
{
"queryStringParameters": {
"path": "image/100x100/1.jpg"
}
}
參考文獻:
https://blog.csdn.net/wjm158/article/details/108209109文章來源:http://www.zghlxwxcb.cn/news/detail-504652.html
https://github.com/sagidM/s3-resizer文章來源地址http://www.zghlxwxcb.cn/news/detail-504652.html
到了這里,關于aws對象存儲s3基于lambda實現(xiàn)圖片裁剪的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!