400-638-8808
|
微信公眾號





穩(wěn)定可靠 永不間斷

海外收發(fā) 暢通無阻

協(xié)同辦公 資源管理

超大郵件 超級功能

智能反垃圾郵件技術(shù)
易管理 免維護(hù)

Amazon S3 服務(wù)用于文件存儲,您可以在其中上傳或刪除文件。當(dāng) S3 存儲桶中有任何文件上傳時,我們可以在 S3 上觸發(fā) AWS Lambda。 AWS Lambda 有一個處理函數(shù),它充當(dāng) AWS Lambda 函數(shù)的起點(diǎn)。處理程序具有事件的詳細(xì)信息。在本章中,讓我們看看在 S3 存儲桶中上傳文件時如何使用 AWS S3 觸發(fā) AWS Lambda 函數(shù)。
要開始在 Amazon S3 中使用 AWS Lambda,我們需要以下內(nèi)容-
創(chuàng)建 S3 存儲桶創(chuàng)建有權(quán)使用 s3 和 lambda 的角色創(chuàng)建 lambda 函數(shù)并添加 s3 作為觸發(fā)器。
讓我們借助一個示例來了解這些步驟,該示例展示了 Amazon S3 和 AWS Lambda 之間的基本交互。
用戶將在 Amazon S3 存儲桶中上傳文件文件上傳后,它會在后臺觸發(fā) AWS Lambda 函數(shù),該函數(shù)將以控制臺消息的形式顯示文件已上傳的輸出。上傳文件后,用戶將能夠在 Cloudwatch 日志中看到消息。
解釋示例流程的框圖如下所示-

讓我們首先使用下面給出的步驟在 AWS 控制臺中創(chuàng)建一個 s3 存儲桶-
轉(zhuǎn)到 Amazon services 并單擊存儲部分中的 S3,如下圖所示-

點(diǎn)擊 S3 存儲和 創(chuàng)建存儲桶,這將存儲上傳的文件。

點(diǎn)擊 創(chuàng)建存儲桶按鈕后,您可以看到如下屏幕-

輸入詳細(xì)信息 存儲桶名稱,選擇區(qū)域并單擊左下角的 創(chuàng)建按鈕。因此,我們創(chuàng)建了名稱為: workingwithlambdaands3.
的存儲桶 
現(xiàn)在,單擊存儲桶名稱,它會要求您上傳文件,如下所示-

這樣,我們就完成了 S3 中存儲桶的創(chuàng)建。
要創(chuàng)建適用于 S3 和 Lambda 的角色,請按照下面給出的步驟操作-
轉(zhuǎn)到 AWS 服務(wù)并選擇 IAM,如下所示-

現(xiàn)在,單擊 IAM-> 角色,如下所示-

現(xiàn)在,點(diǎn)擊 創(chuàng)建角色并選擇將使用該角色的服務(wù)。選擇 Lambda 并點(diǎn)擊 權(quán)限按鈕。

從下方添加權(quán)限并點(diǎn)擊 查看。

注意我們選擇了以下權(quán)限-

觀察我們選擇的策略是 AmazonS3FullAccess、AWSLambdaFullAccess 和 CloudWatchFullAccess。
現(xiàn)在,輸入角色名稱、角色描述并點(diǎn)擊底部的 創(chuàng)建角色按鈕。

因此,我們創(chuàng)建了名為 lambdawiths3service 的角色。
在本節(jié)中,讓我們看看如何創(chuàng)建 Lambda 函數(shù)并向其添加 S3 觸發(fā)器。為此,您必須遵循下面給出的步驟-
轉(zhuǎn)到 AWS 服務(wù)并選擇 Lambda,如下所示-

單擊 Lambda 并按照添加 名稱 的過程進(jìn)行操作。選擇 運(yùn)行時、角色等并創(chuàng)建函數(shù)。我們創(chuàng)建的 Lambda 函數(shù)顯示在下面的屏幕截圖中-

現(xiàn)在讓我們添加 S3 觸發(fā)器。
從上面選擇觸發(fā)器并添加如下所示的詳細(xì)信息-

從存儲桶下拉列表中選擇創(chuàng)建的存儲桶。事件類型具有以下詳細(xì)信息-

選擇 Object Created (All),因?yàn)槲覀冊谏蟼鳌h除文件等時需要AWS Lambda觸發(fā)器。
您可以添加前綴和文件模式,用于過濾添加的文件。例如,僅針對 .jpg 圖像觸發(fā) lambda。讓我們暫時將其留空,因?yàn)槲覀冃枰獮樗猩蟼鞯奈募|發(fā) Lambda。點(diǎn)擊 添加按鈕添加觸發(fā)器。

您可以找到如下所示的 Lambda 函數(shù)的觸發(fā)器顯示-

讓我們添加 aws lambda 函數(shù)的詳細(xì)信息。在這里,我們將使用在線編輯器添加我們的代碼,并使用 nodejs 作為運(yùn)行環(huán)境。
要使用 AWS Lambda 觸發(fā) S3,我們必須在代碼中使用 S3 事件,如下所示-
exports.handler = function(event, context, callback) {
console.log("Incoming Event: ", event);
const bucket = event.Records[0].s3.bucket.name;
const filename = decodeURIComponent(event.Records[0].s3.object.key.replace(/\+/g, " "));
const message = `File is uploaded in-${bucket}-> ${filename}`;
console.log(message);
callback(null, message);
};
請注意,事件參數(shù)包含 S3 事件的詳細(xì)信息。我們已經(jīng)設(shè)置了存儲桶名稱和文件名,當(dāng)您在 S3bucket 中上傳圖像時將記錄這些文件名。
現(xiàn)在,讓我們保存更改并使用 S3upload 測試 lambda 函數(shù)。以下是 AWS Lambda 中添加的代碼詳細(xì)信息-

現(xiàn)在,讓我們添加角色、內(nèi)存和超時。

現(xiàn)在,保存 Lambda 函數(shù)。從 Amazon 服務(wù)打開 S3 并打開我們之前創(chuàng)建的存儲桶,即 workingwithlambdaands3。
上傳圖片如下所示-

點(diǎn)擊 上傳按鈕添加文件,如圖所示-

點(diǎn)擊 添加文件來添加文件。您也可以拖放文件,F(xiàn)在,點(diǎn)擊 上傳按鈕。

因此,我們在 S3 存儲桶中上傳了一張圖片。
要查看觸發(fā)器詳細(xì)信息,請轉(zhuǎn)到 AWS 服務(wù)并選擇 CloudWatch。打開 Lambda 函數(shù)的日志并使用以下代碼-
exports.handler = function(event, context, callback) {
console.log("Incoming Event: ", event);
const bucket = event.Records[0].s3.bucket.name;
const filename = decodeURIComponent(event.Records[0].s3.object.key.replace(/\+/g, " "));
const message = `File is uploaded in-${bucket}-> ${filename}`;
console.log(message);
callback(null, message);
};
您可以在 Cloudwatch 中觀察到的輸出如圖所示-

當(dāng)文件上傳到 S3 存儲桶并且詳細(xì)信息記錄在 Cloudwatch 中時觸發(fā) AWS Lambda 函數(shù),如下所示-

作為AWS頂級代理商,選擇天.下.數(shù).據(jù)的優(yōu)勢
1、專屬客服協(xié)助注冊AWS,或提供注冊好的賬號直接使用
2、支持收U等多幣種支付代付,無額外服務(wù)費(fèi)用
3、AWS多種產(chǎn)品類型,更高產(chǎn)品租賃權(quán)限
4、針對大客戶,AWS專屬折扣優(yōu)惠
5、7x24小時專屬客服,在線解答各種疑問
詳詢電話40 0-63 8-88 08 官網(wǎng):http://m.51huadong.com/2023/aws.asp
產(chǎn)品與服務(wù)
香港服務(wù)器 香港高防服務(wù)器 美國服務(wù)器 韓國服務(wù)器 新加坡服務(wù)器 日本服務(wù)器 臺灣服務(wù)器云服務(wù)器
香港云主機(jī) 美國云主機(jī) 韓國云主機(jī) 新加坡云主機(jī) 臺灣云主機(jī) 日本云主機(jī) 德國云主機(jī) 全球云主機(jī)高防專線
海外高防IP 海外無限防御 SSL證書 高防CDN套餐 全球節(jié)點(diǎn)定制 全球?qū)>GPLC關(guān)于我們
關(guān)于天下數(shù)據(jù) 數(shù)據(jù)招商加盟 天下數(shù)據(jù)合作伙伴 天下數(shù)據(jù)團(tuán)隊(duì)建設(shè) 加入天下數(shù)據(jù) 媒體報道 榮譽(yù)資質(zhì) 付款方式關(guān)注我們
微信公眾賬號
新浪微博
天下數(shù)據(jù)手機(jī)站 關(guān)于天下數(shù)據(jù) 聯(lián)系我們 誠聘英才 付款方式 幫助中心 網(wǎng)站備案 解決方案 域名注冊 網(wǎng)站地圖
天下數(shù)據(jù)18年專注海外香港服務(wù)器、美國服務(wù)器、海外云主機(jī)、海外vps主機(jī)租用托管以及服務(wù)器解決方案-做天下最好的IDC服務(wù)商
《中華人民共和國增值電信業(yè)務(wù)經(jīng)營許可證》 ISP證:粵ICP備07026347號
朗信天下發(fā)展有限公司(控股)深圳市朗玥科技有限公司(運(yùn)營)聯(lián)合版權(quán)
深圳總部:中國.深圳市南山區(qū)深圳國際創(chuàng)新谷6棟B座10層 香港總部:香港上環(huán)蘇杭街49-51號建安商業(yè)大廈7樓
7×24小時服務(wù)熱線:4006388808香港服務(wù)電話:+852 67031102
本網(wǎng)站的域名注冊業(yè)務(wù)代理北京新網(wǎng)數(shù)碼信息技術(shù)有限公司的產(chǎn)品