【发布时间】:2016-09-27 08:42:39
【问题描述】:
我正在使用 .net sdk 将消息推送到 SNS,然后将消息发布到订阅的 SQS 队列,但是 SNS 添加了消息类型等元数据,我最终得到了我不想要的更大的 JSON 有效负载,尤其是当SQS 限制为每条消息 256k。
是否可以向 SNS 发送命令并告诉它不要发送元数据?
代码如下:
var credentials = new StoredProfileAWSCredentials("dev");
using (var client = new AmazonSimpleNotificationServiceClient(credentials, Amazon.RegionEndpoint.EUWest1))
{
var request = new PublishRequest();
request.Message = message;
request.TargetArn = "ARN";
var response = client.Publish(request);
// return response;
}
这是 SNS 向 SQS 推送的内容:
{
"Type":"Notification",
"MessageId":"3333333",
"TopicArn":"ARN",
"Message": {
"Id":45,
"MessageId":"a871f8d7-7091-4548-87c5-da3bb4131044",
"Payload": {
"Internalid":"a7c50558-fc9c-47a6-b0ed-cb0cf5020f55",
"MessageId":"a871f8d7-7091-4548-87c5-da3bb4131044",
"TravelersName":"aaa aaaa",
"TravelersEmail":"aaa@aa.com",
"OwnersEmail":null,
"AccommodationId":1,
"BookingCode":"a523cd07-5506-48ad-9380-2e94002722e0"
},
"EventName":"BookingRecordCreated",
"CreatedOnUtc":"2016-09-26T15:14:55.437",
"HandledOnUtc":null
},
"Timestamp":"2016-09-26T15:14:50.923Z",
"SignatureVersion":"1",
"Signature":"dfgdfg///==",
"SigningCertURL":"https://sns",
"UnsubscribeURL":"https://sns."
}
这就是我发布到 SNS 的内容
"Message":{
"Id":45,
"MessageId":"a871f8d7-7091-4548-87c5-da3bb4131044",
"Payload": {
"Internalid":"a7c50558-fc9c-47a6-b0ed-cb0cf5020f55",
"MessageId":"a871f8d7-7091-4548-87c5-da3bb4131044",
"TravelersName":"aa aaa",
"TravelersEmail":"aa@aaa.com",
"OwnersEmail":null,
"AccommodationId":1,
"BookingCode":"a523cd07-5506-48ad-9380-2e94002722e0",
"EventName":"BookingRecordCreated",
"CreatedOnUtc":"2016-09-26T15:14:55.437",
"HandledOnUtc":null
}
}
【问题讨论】:
标签: c# .net amazon-web-services amazon-sqs amazon-sns