作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在示例中看到了如何将消息字符串传递给Amazon sns sdk的publish方法。但是,是否有关于如何将自定义对象作为消息传递的示例?我尝试将“MessageStructure”设置为“json”,但随后出现 InvalidParameter: Invalid parameter: Message Structure - No default entry in JSON message body
错误。我应该在哪里将对象值传递到参数中?
有什么例子吗?
var params = {
Message: JSON.stringify(item),
MessageStructure: 'json',
TopicArn: topic
//MessageAttributes: item
};
return sns.publishAsync(params);
最佳答案
没有 SDK 支持的方式将自定义对象作为消息传递——消息始终是字符串。当然,您可以使字符串成为对象的序列化版本。
MessageStructure: 'json' 用于不同的目的——当您想将不同的字符串传递给不同的订阅类型时。在这种情况下,您将消息设为具有 AWS 定义结构的序列化 json 对象,其中每个元素定义要发送到特定类型订阅(电子邮件、sqs 等)的消息。即使在这种情况下,消息本身也只是字符串。
MessageAttributes 是您添加到消息中以支持特定订阅类型的参数。例如,如果您使用 SNS 与 Apple 的 IOS 通知服务对话,您可能必须提供额外的消息参数或身份验证 key ——MessageAttributes 提供了一种机制来执行此操作。这在 this AWS documentation 中有描述。
关于amazon-web-services - 如何将对象传递给亚马逊 SNS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31417933/
我是一名优秀的程序员,十分优秀!