当我尝试在C#中使用AWSSDK版本2.0.8.2发布大于65536字节的消息时.
我得到以下异常:
AWSSDK.dll中出现"Amazon.SimpleNotificationService.Model.InvalidParameterException"类型的例外但未在用户代码中处理
附加信息:无效参数:消息太长,只有签名版本4的请求才能发布大于65536字节的消息.
我到处看都包括AWS文档,但我无法找到如何使用签名4进行SNS推送.有人知道吗?
我已经尝试更新到2.0.10.0但仍然没有运气,这是我正在使用的代码
RegionEndpoint regionEndPoint = RegionEndpoint.USWest2; IAmazonSimpleNotificationService snsClient = AWSClientFactory.CreateAmazonSimpleNotificationServiceClient(awsAccessKeyId, awsSecretAccessKey, regionEndPoint); PublishRequest publishRequest = new PublishRequest() { Subject = subject, Message = jsonBody, TopicArn = testTopicArn }; snsClient.Publish(publishRequest);
Anthony Neac.. 6
2013年6月18日,AWS在SQS和SNS中增加了对256 kb有效载荷的支持,如本AWS所述:"有什么新内容?" 帖子.从帖子:
256KB有效负载(SQS和SNS)使开发人员能够在每次API调用时发送和接收更多数据.以前,有效载荷的上限为64KB.现在,大型有效负载按每64KB"有效负载"的一个请求计费.例如,对256KB有效负载的单个API调用将被计为四个请求.我们的客户告诉我们,更大的有效负载将实现以前难以实现的新用例.
这些功能现在在所有地区都可用.要使用这些功能,您必须使用启用了AWS签名版本4的最新SDK.
您应该只获得该异常,因为您使用的SDK版本较旧,仅支持64KB(65,536字节)的有效负载.看起来SDK的2.0.8版本应该有这个签名.也许在相关项目中检查您的参考文献,也许您可能会引用可能导致问题的旧版本?
这里有一些关于SNS中大型有效载荷的附加文档.