AWS SNS C#无法发布大于65kb的邮件

AWS SNS C#无法发布大于65kb的邮件,c#,amazon-web-services,sdk,signing,amazon-sns,C#,Amazon Web Services,Sdk,Signing,Amazon Sns,当我试图在C#中使用AWSSDK版本2.0.8.2发布大于65536字节的消息时 我得到以下例外情况: 类型的例外 'Amazon.SimpleNotificationService.Model.InvalidParameterException' 在AWSSDK.dll中发生,但未在用户代码中处理 其他信息:无效参数:消息太长,仅限 签名版本为4的请求可以发布大于 65536字节 我到处都找过,包括AWS文档,但我找不到如何在SNS推送中使用签名4。有人知道吗 我已经尝试更新到2.0.10.0

当我试图在C#中使用AWSSDK版本2.0.8.2发布大于65536字节的消息时

我得到以下例外情况:

类型的例外 'Amazon.SimpleNotificationService.Model.InvalidParameterException' 在AWSSDK.dll中发生,但未在用户代码中处理

其他信息:无效参数:消息太长,仅限 签名版本为4的请求可以发布大于 65536字节

我到处都找过,包括AWS文档,但我找不到如何在SNS推送中使用签名4。有人知道吗

我已经尝试更新到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);

2013年6月18日,AWS在SQS和SNS中增加了对256KB有效负载的支持,如本文所述。从职位:

256KB的有效负载(SQS和SNS)使开发人员能够发送和接收 每次API调用都会产生更多数据。以前,有效载荷的上限为 64KB。现在,大型有效负载按每64KB“块”一个请求计费 有效载荷。例如,256KB负载的单个API调用将是 按四个请求计费。我们的客户告诉我们,更大的有效载荷将 启用以前难以完成的新用例

这些功能目前在所有地区都可用。为了使用这些功能,必须使用启用了AWS签名版本4的最新SDK

您应该只得到该异常,因为您使用的是只支持64KB(65536字节)有效负载的旧版本SDK。看起来SDK的2.0.8版本应该有这个签名。也许检查相关项目中的参考资料,也许你有一个旧版本的参考资料可能会导致问题


这里有一些关于SNS中大型有效载荷的附加信息。

您能否再次检查该代码所在项目的csproj,并确认对AWSSDK的唯一引用是版本2.0.8.2或2.0.10.0?