Ada*_*cki 5 amazon-web-services node.js aws-lambda
我在 ses.SendEmail 方法中面临一个奇怪的问题。当我使用测试数据时,一切都会按预期工作,并且电子邮件会发送给我,但是当在 dynamoDB 中添加新条目来触发将发送电子邮件的 lambda 函数时,我得到一个异常:
\nInvalidParameterValue:域包含控件或空格\nat Request.extractError (/var/runtime/node_modules/aws-sdk/lib/protocol/query.js:50:29)\nat Request.callListeners (/var/runtime/node_modules/aws) -sdk/lib/sequential_executor.js:106:20)\nat Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:78:10)\nat Request.emit (/var/runtime /node_modules/aws-sdk/lib/request.js:688:14)\nat Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10)\nat AcceptorStateMachine.runTo ( /var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)\nat /var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10\nat 请求。(/var/runtime/node_modules/aws-sdk/lib/request.js:38:9)\nat 请求。(/var/runtime/node_modules/aws-sdk/lib/request.js:690:12)\nat Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:116:18) { \n代码: 'InvalidParameterValue',\n时间: 2020-08-28T13:09:31.549Z,\nrequestId: '233eb2c8-9097-4aab-884f-ecd20260a473',\nstatusCode: 400,\n可重试: false,\nretryDelay: 38.70417411 485463 \n}
\nconsole.log('Loading function');\nvar aws = require('aws-sdk');\nvar ses = new aws.SES({region: 'eu-west-2'});\n\nexports.handler = (event, context) => {\n //console.log('Received event:', JSON.stringify(event, null, 2));\n event.Records.forEach((record) => {\n if(record.eventName == 'INSERT')\n {\n console.log(record.eventID);\n console.log(record.eventName);\n console.log('DynamoDB Record: %j', record.dynamodb);\n \n console.log(record.dynamodb.NewImage.email.S);\n \n var email = record.dynamodb.NewImage.email.S.trim();\n console.log("About send an email to " + email);\n var params = {\n Destination: {\n ToAddresses: [email]\n },\n Message: {\n Body: {\n Text: { Data: "test"\n \n }\n \n },\n \n Subject: { Data: "Thank you for your interest."\n \n }\n },\n Source: "***@***.com"\n };\n \n ses.sendEmail(params, function (err, data) {\n \n if (err) {\n console.log(err);\n } else {\n \n console.log(data);\n }\n });\n }\n });\n \n \n};\nRun Code Online (Sandbox Code Playgroud)\n在日志中,我可以看到电子邮件的格式正确 - 与有效测试的有效负载完全相同。 \nNewImage 对象的一部分(我混淆了一封没有任何空格且仅包含字母数字值的电子邮件(出于隐私原因)。
\n"NewImage": {\n"dateTime": {\n"S": "8/28/2020 1:09:29 PM"\n},\n"firstName": {\n"S": "亚当\xe2\x80\x8b"\n},\n"姓氏": {\n"S": "b\xe2\x80\x8b"\n},\n"id": {\n"S": "815501b1-3a94-4e65-86b1-ac59ac0a26f2"\n},\n"电子邮件": {\n"S": "***@gmail.com\xe2\x80\x8b"\n}\n}
\n| 归档时间: |
|
| 查看次数: |
1018 次 |
| 最近记录: |