为了账号安全,请及时绑定邮箱和手机立即绑定

AWS Lambda SNS 目的地在失败或成功时不起作用

AWS Lambda SNS 目的地在失败或成功时不起作用

慕田峪4524236 2023-01-06 15:59:39
参考:https ://aws.amazon.com/blogs/compute/introducing-aws-lambda-destinations/检查这个答案说:只有异步 lambda 执行只适用于目的地。拉姆达代码:const AWSManager = require('./AWSManager.js');const request = require('request-promise'); exports.handler = async (event, context) => {  var input = JSON.stringify(event, null, 2);  console.log(event.region);  //console.log("EVENT: \n" + JSON.stringify(event, null, 2))  // TODO implement  var secret_name, region_name;  if(event.secretName){    secret_name= event.secretName;    region_name = event.region;      }else{    secret_name= "test/"    region_name = "us-east-1"  }  console.log(secret_name)  var secret = await AWSManager.getSecret(secret_name)  //console.log('mysecret: ' + secret )  var secret_values = JSON.parse(secret);  //var request = require('request');  var okta_org_url = secret_values['okta_org_url']  var okta_token = secret_values['okta_token']  var api_endpoint = okta_org_url + "api/v1/users?limit=25"  var options = {    'method': 'GET',    'url': api_endpoint,    'headers': {       // header information    }  };  var api_response = await request(options).then(res => res).catch(err => err)    return {    "statusCode": 200  }};代码只能正确执行 SNS 目标不起作用。SNS 目的地有电子邮件协议订阅,用于在失败时发送电子邮件。
查看完整描述

1 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

找到答案只是错误。

根据带 SQS 触发器的 AWS Lambda 中给出的解释,SQS Lambda Destinations, never adds to destination queue is correct only for calling lambda async 你必须运行不同的命令。来自 UI 的测试输入不像异步那样工作。它用作同步呼叫。

aws lambda invoke \     
--function-name lambdaname \     
--invocation-type Event \     
--payload '{ "name": "Bob" }' \     
response.json

参考:https ://docs.aws.amazon.com/cli/latest/reference/lambda/invoke.html#examples

这是列表调用支持异步和同步的 lambda:

https://aws.amazon.com/blogs/architecture/understanding-the-different-ways-to-invoke-lambda-functions/


查看完整回答
反对 回复 2023-01-06
  • 1 回答
  • 0 关注
  • 178 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信