

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

# Amazon Simple Queue Service メッセージキューの操作
<a name="examples-sqs-message-queues"></a>

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

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

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

```
SqsClient sqsClient = SqsClient.create();
```

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

## キューを作成する
<a name="sqs-create-queue"></a>

次のコードスニペットに示すように、`SqsClient’s` `createQueue` メソッドを使用し、キューパラメータを記述する `[CreateQueueRequest](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/sqs/model/CreateQueueRequest.html)` オブジェクトを指定します。

 **インポート** 

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

 **コード** 

```
            CreateQueueRequest createQueueRequest = CreateQueueRequest.builder()
                .queueName(queueName)
                .build();

            sqsClient.createQueue(createQueueRequest);
```

GitHub の「[完全なサンプル](https://github.com/awsdocs/aws-doc-sdk-examples/blob/cf25559da654a7b74bec039c0ab9397dc5951dd4/javav2/example_code/sqs/src/main/java/com/example/sqs/SQSExample.java#L52)」をご覧ください。

## キューの一覧表示
<a name="sqs-list-queues"></a>

アカウントの Amazon Simple Queue Service キューを一覧表示するには、 `[ListQueuesRequest](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/sqs/model/ListQueuesRequest.html)` オブジェクトを使用して `SqsClient’s``listQueues`メソッドを呼び出します。

パラメータを使用しない [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/sqs/SqsClient.html#listQueues()](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/sqs/SqsClient.html#listQueues()) メソッドの形式を使用すると、サービスは最大 1,000 個のキューを含む*すべてのキュー*を返します。

以下のコードに示すように、`[ListQueuesRequest](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/sqs/model/ListQueuesRequest.html)` オブジェクトにキュー名のプレフィックスを指定して、そのプレフィックスに一致するキューの結果を絞り込むことができます。

 **インポート** 

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

 **コード** 

```
        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 の「[完全なサンプル](https://github.com/awsdocs/aws-doc-sdk-examples/blob/cf25559da654a7b74bec039c0ab9397dc5951dd4/javav2/example_code/sqs/src/main/java/com/example/sqs/SQSExample.java#L79)」をご覧ください。

## キューの URL の取得
<a name="sqs-get-queue-url"></a>

次のコードは、 `[GetQueueUrlRequest](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/sqs/model/GetQueueUrlRequest.html)` オブジェクトを指定して `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;
```

 **コード** 

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

GitHub の「[完全なサンプル](https://github.com/awsdocs/aws-doc-sdk-examples/blob/7486a1a092aa8e16a21698ef26f9d524fef62e55/javav2/example_code/sqs/src/main/java/com/example/sqs/SQSExample.java#L70)」をご覧ください。

## キューの削除
<a name="sqs-delete-queue"></a>

`[DeleteQueueRequest](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/sqs/model/DeleteQueueRequest.html)` オブジェクトへのキューの [URL](#sqs-get-queue-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;
```

 **コード** 

```
    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 の「[完全なサンプル](https://github.com/awsdocs/aws-doc-sdk-examples/blob/6240df86c5f17eae1e23d1139d1435c7dc4b2a11/javav2/example_code/sqs/src/main/java/com/example/sqs/DeleteQueue.java#L48)」をご覧ください。

## 詳細情報
<a name="more-information"></a>
+  Amazon Simple Queue Service API リファレンスの [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) 
+  Amazon Simple Queue Service API リファレンスの [GetQueueUrl](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueUrl.html) 
+  Amazon Simple Queue Service API リファレンスの [ListQueues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueues.html) 
+  Amazon Simple Queue Service API リファレンスの [DeleteQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html) 