400-638-8808
|
微信公眾號(hào)





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

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

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

超大郵件 超級(jí)功能

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

微信掃一掃 關(guān)注"天下數(shù)據(jù)"商品一律九折
![]()
搜索"朗玥科技"關(guān)注,了解最新優(yōu)惠

DynamoDB 可以在數(shù)據(jù)添加到表中、更新或刪除時(shí)觸發(fā) AWS Lambda。在本章中,我們將使用一個(gè)簡單的示例將項(xiàng)目添加到 DynamoDB 表和 AWS Lambda,后者將讀取數(shù)據(jù)并發(fā)送添加了數(shù)據(jù)的郵件。
要求
要使用 Amazon DB 和 AWS Lambda,我們需要按照如下所示的步驟操作-
使用主鍵在 DynamoDB 中創(chuàng)建表創(chuàng)建一個(gè)有權(quán)使用 DynamoDB 和 AWS Lambda 的角色。在 AWS Lambda 中創(chuàng)建函數(shù)用于發(fā)送郵件的 AWS Lambda 觸發(fā)器在 DynamoDB 中添加數(shù)據(jù)
讓我們詳細(xì)討論這一步。
示例
我們將研究以下示例,該示例顯示了 DynamoDB 和 AWS Lambda 之間的基本交互。這個(gè)例子將幫助您理解以下操作-
在 Dynamodb 表中創(chuàng)建一個(gè)名為 customer 的表以及如何在該表中輸入數(shù)據(jù)。在輸入數(shù)據(jù)并使用 Amazon SES 服務(wù)發(fā)送郵件后觸發(fā) AWS Lambda 函數(shù)。
解釋示例流程的基本框圖如下所示-

登錄 AWS 控制臺(tái)。轉(zhuǎn)到 AWS 服務(wù)并選擇 DynamoDB,如下所示。選擇 DynamoDB。

DynamoDB 顯示的選項(xiàng)如下所示-

現(xiàn)在,單擊 創(chuàng)建表以創(chuàng)建如圖所示的表。我們將該表命名為 customer,該表的主鍵為 cust_id。單擊 創(chuàng)建按鈕將表添加到dynamodb。

創(chuàng)建的表如下圖-

我們可以將項(xiàng)目添加到創(chuàng)建的表中,如下所示-

點(diǎn)擊 項(xiàng)目,然后點(diǎn)擊 創(chuàng)建項(xiàng)目按鈕,如圖所示-


要?jiǎng)?chuàng)建角色,請轉(zhuǎn)到 AWS 服務(wù)并單擊 IAM。

讓我們創(chuàng)建一個(gè)僅用于之前創(chuàng)建的 DynamoDB 表的策略-

現(xiàn)在,選擇一個(gè) 服務(wù)。觀察我們選擇的服務(wù)是 DynamoDB。對(duì)于 操作,我們已經(jīng)采取了所有 Dynamodb 操作,即訪問列表、讀取和寫入。對(duì)于 資源,我們將選擇表資源類型操作。當(dāng)您點(diǎn)擊它時(shí),您可以看到如下屏幕-

現(xiàn)在,如圖所示,選擇 table 和 Add ARN。我們將從創(chuàng)建的 customer table 中獲取 ARN 詳細(xì)信息,如下所示-

在此處輸入 arn 詳細(xì)信息-

點(diǎn)擊 添加按鈕保存更改。完成后 點(diǎn)擊查看政策。輸入策略名稱、描述等,如下所示-

點(diǎn)擊 創(chuàng)建策略以保存它。將策略添加到要?jiǎng)?chuàng)建的角色。從左側(cè)選擇 角色并輸入詳細(xì)信息。

觀察添加的策略是 newpolicyfordynamdb、awslambdafullaccess、cloudwatchfullaccess 和 amazonsesfullaccess。添加角色并將在創(chuàng)建 AWS Lambda 函數(shù)時(shí)使用它。
在 AWS Lambda 中創(chuàng)建函數(shù)
因此,我們創(chuàng)建了名為 newlambdafordynamodb 的 Lambda 函數(shù),如圖所示。

現(xiàn)在,讓我們將 DynamodDB 觸發(fā)器添加到創(chuàng)建的 AWS Lambda。我們將使用的運(yùn)行時(shí)是 Node.js。

您可以在要為 AWS Lambda 配置的 Dynamodb 觸發(fā)器中找到以下詳細(xì)信息-

現(xiàn)在,只需單擊 添加即可將觸發(fā)器添加到 AWS Lambda。
用于發(fā)送郵件的 AWS Lambda 觸發(fā)器
AWS Lambda 將在數(shù)據(jù)插入 AWS Lambda 時(shí)觸發(fā)。事件參數(shù)將插入 dynamodb 數(shù)據(jù)。這將從事件中讀取數(shù)據(jù)并發(fā)送電子郵件。
發(fā)送電子郵件
要發(fā)送電子郵件,您需要按照以下步驟操作-
步驟 1
轉(zhuǎn)到 AWS 服務(wù)并選擇 SES(簡單電子郵件服務(wù))。驗(yàn)證我們需要向其發(fā)送電子郵件的電子郵件,如圖所示-

點(diǎn)擊按鈕 驗(yàn)證新電子郵件地址以添加電子郵件地址。

輸入電子郵件地址進(jìn)行驗(yàn)證。該電子郵件地址將收到來自亞馬遜的激活郵件,需要點(diǎn)擊該郵件。激活完成后,電子郵件 ID 將得到驗(yàn)證并可用于 AWS 服務(wù)。
步驟 4
從事件中讀取數(shù)據(jù)并發(fā)送電子郵件的 AWS Lambda 代碼如下-
var aws = require("aws-sdk");
var ses = new aws.SES({
region: "us-east-1"
});
exports.handler = function(event, context, callback) {
console.log(event);
let tabledetails = JSON.parse(JSON.stringify(event.Records[0].dynamodb));
console.log(tabledetails.NewImage.address.S);
let customerid = tabledetails.NewImage.cust_id.S;
let name = tabledetails.NewImage.name.S;
let address = tabledetails.NewImage.address.S;
var eParams = {
Destination: {
ToAddresses: ["xxxxx@gmail.com"] }, Message: { Body: { Text: { Data: "The data added is as follows:\n CustomerId:"+customerid+"\n Name:"+name+"\nAddress:"+address } }, Subject: { Data: "Data Inserted in Dynamodb table customer" } }, Source: "xxxxx@gmail.com" }; console.log("===SENDING EMAIL==="); var email = ses.sendEmail(eParams, function(err, data) { if (err) console.log(err); else { console.log("===EMAIL SENT==="); console.log("EMAIL CODE END"); console.log("EMAIL: ", email); context.succeed(event); callback(null, "email is send");
}
});
}
現(xiàn)在,將 Lambda 函數(shù)和數(shù)據(jù)保存在 DynamoDB 表中。
在 DynamoDB 中添加數(shù)據(jù)
使用以下順序在 DynamoDB 中添加數(shù)據(jù)。
步驟 1
轉(zhuǎn)到在 Dynamodb 中創(chuàng)建的表 customer。

點(diǎn)擊 創(chuàng)建項(xiàng)目。

單擊 保存按鈕并檢查 AWS Lambda 中提供的電子郵件 ID,以查看郵件是否已由 AWS Lambda 發(fā)送。

作為AWS頂級(jí)代理商,選擇天.下.數(shù).據(jù)的優(yōu)勢
1、專屬客服協(xié)助注冊AWS,或提供注冊好的賬號(hào)直接使用
2、支持收U等多幣種支付代付,無額外服務(wù)費(fèi)用
3、AWS多種產(chǎn)品類型,更高產(chǎn)品租賃權(quán)限
4、針對(duì)大客戶,AWS專屬折扣優(yōu)惠
5、7x24小時(shí)專屬客服,在線解答各種疑問
詳詢電話40 0-63 8-88 08 官網(wǎng):http://m.51huadong.com/2023/aws.asp
產(chǎn)品與服務(wù)
香港服務(wù)器 香港高防服務(wù)器 美國服務(wù)器 韓國服務(wù)器 新加坡服務(wù)器 日本服務(wù)器 臺(tái)灣服務(wù)器云服務(wù)器
香港云主機(jī) 美國云主機(jī) 韓國云主機(jī) 新加坡云主機(jī) 臺(tái)灣云主機(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ù) 媒體報(bào)道 榮譽(yù)資質(zhì) 付款方式關(guān)注我們
微信公眾賬號(hào)
新浪微博
天下數(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號(hào)
朗信天下發(fā)展有限公司(控股)深圳市朗玥科技有限公司(運(yùn)營)聯(lián)合版權(quán)
深圳總部:中國.深圳市南山區(qū)深圳國際創(chuàng)新谷6棟B座10層 香港總部:香港上環(huán)蘇杭街49-51號(hào)建安商業(yè)大廈7樓
7×24小時(shí)服務(wù)熱線:4006388808香港服務(wù)電話:+852 67031102
本網(wǎng)站的域名注冊業(yè)務(wù)代理北京新網(wǎng)數(shù)碼信息技術(shù)有限公司的產(chǎn)品