Amazon Simple Queue Service メッセージキューを使用する - AWS SDK for Java 2.x

Amazon Simple Queue Service メッセージキューを使用する

メッセージキューは、Amazon Simple Queue Service でメッセージを確実に送信するために使用する論理コンテナです。キューには、標準先入れ先出し (FIFO) の 2 種類があります。キューおよびキュータイプ間の相違点の詳細については、「Amazon Simple Queue Service デベロッパーガイド」を参照してください。

このトピックでは、Amazon Simple Queue Service を使用して AWS SDK for Java キューの URL の作成、一覧表示、削除、および取得を行う方法について説明します。

次の例で使用されている sqsClient 変数は、次のスニペットから作成できます。

SqsClient sqsClient = SqsClient.create();

静的 create() メソッドを使用して SqsClient を作成すると、SDK はデフォルトのリージョンプロバイダーチェーンによってリージョンを設定し、デフォルトの認証情報プロバイダーチェーンによって認証情報を設定します。

キューを作成する

次のコードスニペットに示すように、SqsClient’s createQueue メソッドを使用し、キューパラメータを記述する CreateQueueRequest オブジェクトを指定します。

インポート

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sqs.SqsClient; import software.amazon.awssdk.services.sqs.model.*; import java.util.List;

Code

CreateQueueRequest createQueueRequest = CreateQueueRequest.builder() .queueName(queueName) .build(); sqsClient.createQueue(createQueueRequest);

GitHub の「完全なサンプル」をご覧ください。

キューの一覧表示

アカウントの Amazon Simple Queue Service キューを一覧表示するには、ListQueuesRequest オブジェクトを指定して、SqsClient’s listQueues メソッドを呼び出します。

パラメータを使用しない listQueues メソッドの形式を使用すると、サービスは最大 1,000 個のキューを含むすべてのキューを返します。

以下のコードに示すように、ListQueuesRequest オブジェクトにキュー名のプレフィックスを指定して、そのプレフィックスに一致するキューの結果を絞り込むことができます。

インポート

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sqs.SqsClient; import software.amazon.awssdk.services.sqs.model.*; import java.util.List;

Code

String prefix = "que"; try { ListQueuesRequest listQueuesRequest = ListQueuesRequest.builder().queueNamePrefix(prefix).build(); ListQueuesResponse listQueuesResponse = sqsClient.listQueues(listQueuesRequest); for (String url : listQueuesResponse.queueUrls()) { System.out.println(url); } } catch (SqsException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); }

GitHub の「完全なサンプル」をご覧ください。

キューの URL の取得

次のコードは、 GetQueueUrlRequest オブジェクトを指定して SqsClient’s getQueueUrl メソッドを呼び出してキューの URL を取得する方法を示しています。

インポート

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sqs.SqsClient; import software.amazon.awssdk.services.sqs.model.*; import java.util.List;

Code

GetQueueUrlResponse getQueueUrlResponse = sqsClient.getQueueUrl(GetQueueUrlRequest.builder().queueName(queueName).build()); String queueUrl = getQueueUrlResponse.queueUrl(); return queueUrl;

GitHub の「完全なサンプル」をご覧ください。

キューの削除

DeleteQueueRequest オブジェクトへのキューの URL を指定します。次に、次のコードに示すように、 SqsClient’s deleteQueue メソッドを呼び出してキューを削除します。

インポート

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sqs.SqsClient; import software.amazon.awssdk.services.sqs.model.*; import java.util.List;

Code

public static void deleteSQSQueue(SqsClient sqsClient, String queueName) { try { GetQueueUrlRequest getQueueRequest = GetQueueUrlRequest.builder() .queueName(queueName) .build(); String queueUrl = sqsClient.getQueueUrl(getQueueRequest).queueUrl(); DeleteQueueRequest deleteQueueRequest = DeleteQueueRequest.builder() .queueUrl(queueUrl) .build(); sqsClient.deleteQueue(deleteQueueRequest); } catch (SqsException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

GitHub の「完全なサンプル」をご覧ください。

詳細情報

  • Amazon Simple Queue Service API リファレンスの CreateQueue

  • Amazon Simple Queue Service API リファレンスの GetQueueUrl

  • Amazon Simple Queue Service API リファレンスの ListQueues

  • Amazon Simple Queue Service API リファレンスの DeleteQueue