亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

AWS Lambda python 從 DynamoDB 事件的響應中以 HTML

AWS Lambda python 從 DynamoDB 事件的響應中以 HTML

慕容森 2023-10-10 14:52:31
我們正在嘗試創建一個 AWS Lambda 函數來創建一封帶有 HTML 正文的電子郵件,以提醒團隊有關更改的記錄。為了實現這一目標,我們使用 Python 創建了一個 Lambda 函數,該函數從事件響應中捕獲變量并傳遞到 HTML。我下面的代碼在從 HTML 到 python 的變量方面存在問題。你能幫我解決它嗎?由于發送的電子郵件只是 HTML 中提到的字符串。一般來說,我應該獲取分配給它的變量。import boto3import jsonfrom datetime import datetimeimport smtplib  import email.utilsfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextdef lambda_handler(event, context):    #print(event)    RecordInfo = event['Records']    RecordDetails = RecordInfo[0]    EventName = RecordDetails['eventName']    Dyna = RecordDetails['dynamodb']    Modtime = Dyna['ApproximateCreationDateTime']    ModifiedTime=datetime.fromtimestamp(Modtime).strftime("%B %d, %Y %I:%M:%S")    if (EventName == 'MODIFY'):        OldData = Dyna['OldImage']        OldAppKey=OldData['Application']        OldApp=OldAppKey['S']        OldAppServerKey=OldData['App_Server']        OldAppServer=OldAppServerKey['S']        OldAppUserKey=OldData['App_User']        OldAppUser=OldAppUserKey['S']        OldAppIPKey=OldData['App_IP']        OldAppIP=OldAppIPKey['S']        OldAppPwdKey=OldData['App_Pwd']        OldAppPwd=OldAppPwdKey['S']        OldAppPortKey=OldData['App_Port']        OldAppPort=OldAppPortKey['S']        #If Eventname is 'Modify' then above inserted value of Sub will be overridden        # The subject line of the email.        SUBJECT = "Table Name:DBTest - Updated on " + ModifiedTime        Message1 = Message1 + "\nOld Record Details:\n" + "Application:" + OldApp + "\tApp_IP:" + OldAppIP + "\tApp_User:" + OldAppUser + "\tApp_Pwd:" + OldAppPwd + "\tApp_Port:" + OldAppPort
查看完整描述

1 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超21個贊

看來您希望用這樣的字符串替換變量:

<td class="cell">{OldApp}</td>

要在 Python 3.6+ 中執行此操作,您應該使用f-string,例如:

BODY_HTML = f"...<td class="cell">{OldApp}</td>..."

請注意f開頭引號之前的內容,它告訴 Python 替換{curly brackets}.

另外,該print()語句應該出現在這個變量賦值中:

BODY_HTML = BODY_HTML + print ("...

另外一些提示..

你可以縮短這個:

RecordInfo = event['Records']
RecordDetails = RecordInfo[0]
EventName = RecordDetails['eventName']

進入:

EventName = event['Records'][0]['eventName']

同樣,你可以縮短:

OldAppIPKey=OldData['App_IP']
OldAppIP=OldAppIPKey['S']

進入:

OldAppIP=OldData['App_IP']['S']


查看完整回答
反對 回復 2023-10-10
  • 1 回答
  • 0 關注
  • 106 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號