Amazon SQS Java メッセージサービス(JMS)クライアントを他の Amazon SQS クライアントと共に使用する - Amazon Simple Queue Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SQS Java メッセージサービス(JMS)クライアントを他の Amazon SQS クライアントと共に使用する

Amazon SQS Java メッセージサービス(JMS)クライアントを使用して、AWSSDK では、Amazon SQS メッセージのサイズが 256 KB に制限されます。ただし、任意の Amazon SQS クライアントを使用して JMS プロバイダを作成することもできます。たとえば、Java 用 Amazon SQS 拡張クライアントライブラリでを使用して、Amazon S3 内のメッセージペイロード (最大 2 GB) への参照を含む Amazon SQS メッセージを送信することができます。詳細については、「Amazon S3 による大規模な Amazon SQS メッセージの管理」を参照してください。

次の Java コード例では、拡張クライアントライブラリの JMS プロバイダを作成しています。

AmazonS3 s3 = new AmazonS3Client(credentials); Region s3Region = Region.getRegion(Regions.US_WEST_2); s3.setRegion(s3Region); // Set the Amazon S3 bucket name, and set a lifecycle rule on the bucket to // permanently delete objects a certain number of days after each object's creation date. // Next, create the bucket, and enable message objects to be stored in the bucket. BucketLifecycleConfiguration.Rule expirationRule = new BucketLifecycleConfiguration.Rule(); expirationRule.withExpirationInDays(14).withStatus("Enabled"); BucketLifecycleConfiguration lifecycleConfig = new BucketLifecycleConfiguration().withRules(expirationRule); s3.createBucket(s3BucketName); s3.setBucketLifecycleConfiguration(s3BucketName, lifecycleConfig); System.out.println("Bucket created and configured."); // Set the SQS extended client configuration with large payload support enabled. ExtendedClientConfiguration extendedClientConfig = new ExtendedClientConfiguration() .withLargePayloadSupportEnabled(s3, s3BucketName); AmazonSQS sqsExtended = new AmazonSQSExtendedClient(new AmazonSQSClient(credentials), extendedClientConfig); Region sqsRegion = Region.getRegion(Regions.US_WEST_2); sqsExtended.setRegion(sqsRegion);

次の Java コード例は、接続ファクトリを作成しています。

// Create the connection factory using the environment variable credential provider. // Pass the configured Amazon SQS Extended Client to the JMS connection factory. SQSConnectionFactory connectionFactory = new SQSConnectionFactory( new ProviderConfiguration(), sqsExtended ); // Create the connection. SQSConnection connection = connectionFactory.createConnection();