使用' sqs-extended-jar'处理大型邮件

时间:2015-11-16 13:45:45

标签: amazon-web-services amazon-sqs amazon-sns

我想使用Amazon SQS扩展客户端jar来发送和接收大于256 KB的消息。 http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/s3-messages.html

如上面链接中的示例所述,我们需要使用创建队列 AmazonSQS sqsExtended =新的AmazonSQSExtendedClient(新的AmazonSQSClient(凭证),extendedClientConfig);

我的问题是: 它如何处理小于256 KB的消息,它是否在内部也将这些消息存储在s3中或直接将消息存储在队列本身中?

谢谢,
Anuj

1 个答案:

答案 0 :(得分:2)

您链接的文章指出:

具体来说,您可以使用此库:

  • 指定消息是始终存储在Amazon S3中还是仅在消息大小超过256 KB时才会存储。

此设置通过ExtendedClientConfiguration类(alwaysThroughS3属性)设置。默认情况下它是假的,你可以设置它,例如通过使用withAlwaysThroughS3方法。

https://github.com/awslabs/amazon-sqs-java-extended-client-lib/blob/master/src/main/java/com/amazon/sqs/javamessaging/ExtendedClientConfiguration.java

在该示例中,您可以使用以下代码强制标记:

    // Set the SQS extended client configuration with large payload support enabled.
    ExtendedClientConfiguration extendedClientConfig = new ExtendedClientConfiguration()
      .withLargePayloadSupportEnabled(s3, s3BucketName)
      .withAlwaysThroughS3(True);