我正在使用 .NET SDK 推送消息到 SNS,然后 SNS 发布消息到已订阅的 SQS 队列,但是 SNS 会添加一些元数据,例如消息类型等,这使得我最终获得了更大的 JSON 负载,而我不想要这样的情况,特别是当 SQS 每个消息的限制为 256k 时。
有没有可能向 SNS 发送命令,并告诉它不要发送那些元数据?
以下是代码:
有没有可能向 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."
}
这是我发布到社交网络的内容。
"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
}
}