少女时代目的地导致意外键错误

Posted

技术标签:

【中文标题】少女时代目的地导致意外键错误【英文标题】:SNSDestination causing unexpected key error 【发布时间】:2018-03-23 10:27:50 【问题描述】:

在为某些 AWS SES 事件创建配置集事件目标时,我遇到了这个错误。这是我传递给 ses.createConfigurationSetEventDestination() 的参数:

const destinationParams = 
  ConfigurationSetName: instance.id,
  EventDestination: 
    Name: instance.id,
    MatchingEventTypes: ['send', 'reject', 'bounce', 'complaint', 'delivery', 'open', 'click'],
    Enabled: true,
    SNSDestination: 
      TopicARN: topicArn,
    ,
  ,
;

我得到的错误是

UnexpectedParameter: Unexpected key 'SNSDestination' found in params.EventDestination

目前的控制流程如下:

ses.createConfigurationSet() sns.createTopic() // 创建新的 TopicArn 用于: ses.createConfigurationSetEventDestination()

These are the docs I'm referencing

【问题讨论】:

我能够使用我在下面添加的 node.js sdk 成功执行 ses.createConfigurationSetEventDestination() 而没有任何问题。您能否添加整个代码以缩小问题范围并添加收到的整个 error 响应。 【参考方案1】:

我正在改进我之前的答案:

我配置了 node.js sdk 并尝试重现该问题。我能够成功创建ConfigurationSet 并设置EventDestination

代码:

var AWS = require('aws-sdk');
AWS.config.update(region:'us-east-1');
var ses = new AWS.SES();

/*const params1 = 
  ConfigurationSet:  
    Name: 'test'
  
;
ses.createConfigurationSet(params1, function(err, data) 
  if (err) console.log(err, err.stack); 
  else     console.log(data);           
); */

const destinationParams = 
  ConfigurationSetName: 'test',
  EventDestination: 
    Name: 'testevent',
    MatchingEventTypes: ['send', 'reject', 'bounce', 'complaint', 'delivery', 'open', 'click'],
    Enabled: true,
    SNSDestination: 
      TopicARN: 'arn:aws:sns:us-east-1:XXXXXXXXXXX:test',
    ,
  ,
;
ses.createConfigurationSetEventDestination(destinationParams, function(err, data) 
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
);

回应:

 ResponseMetadata:  RequestId: '838b95ae-af35-11e7-a190-c960102424be'  

所以 node.js sdk 没有问题。

【讨论】:

对象属性是字符串还是标识符应该没有区别。反正我试了也没用。 即使我一开始并没有什么不同。但是在python api中,它有所作为。如果我不将其作为字符串提及,它将抛出 NameError: name 'SNSDestination' is not defined 我几乎逐字复制了您的代码,但仍然遇到同样的错误。我可以生成一个配置集就好了,但 SNSDestination 仍然给我UnexpectedParameter: Unexpected key 'SNSDestination' found in params.EventDestination 我发现问题是我必须升级 aws,哈哈。感谢您的帮助! 哈哈哈.. 很好.. 这是检查的下一个合乎逻辑的步骤,因为您的代码没有问题。

以上是关于少女时代目的地导致意外键错误的主要内容,如果未能解决你的问题,请参考以下文章

错误 ITMS-90535:“意外的 CFBundleExecutable 键。”

找出导致可怕的“网站遇到意外错误。请稍后再试”的原因。信息

如何解决由于强制展开导致的致命意外零错误[重复]

在 heroku 上部署 MERN 会导致意外错误

克隆 git repo 导致错误 - 主机密钥验证失败。致命:远端意外挂断

错误 ITMS-90535:意外的 CFBundleExecutable 键。 Google Plus 和 Play 游戏 Xamarin 组件