Doc AWS SDK Examples GitHub リポジトリには、他にも SDK の例があります。 AWS
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SDK を使用してキュータグと Amazon SQS を操作する
次のコード例は、Amazon SQS でタグ付け操作を実行する方法を示しています。
- Java
-
- SDK for Java 2.x
-
注記
GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリ
での設定と実行の方法を確認してください。 次の例では、キューのタグを作成し、タグを一覧表示し、タグを削除します。
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import software.amazon.awssdk.services.sqs.SqsClient; import software.amazon.awssdk.services.sqs.model.ListQueueTagsResponse; import software.amazon.awssdk.services.sqs.model.QueueDoesNotExistException; import software.amazon.awssdk.services.sqs.model.SqsException; import java.util.Map; import java.util.UUID; /** * Before running this Java V2 code example, set up your development environment, including your credentials. For more * information, see the <a href="https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html">AWS * SDK for Java Developer Guide</a>. */ public class TagExamples { static final SqsClient sqsClient = SqsClient.create(); static final String queueName = "TagExamples-queue-" + UUID.randomUUID().toString().replace("-", "").substring(0, 20); private static final Logger LOGGER = LoggerFactory.getLogger(TagExamples.class); public static void main(String[] args) { final String queueUrl; try { queueUrl = sqsClient.createQueue(b -> b.queueName(queueName)).queueUrl(); LOGGER.info("Queue created. The URL is: {}", queueUrl); } catch (RuntimeException e) { LOGGER.error("Program ending because queue was not created."); throw new RuntimeException(e); } try { addTags(queueUrl); listTags(queueUrl); removeTags(queueUrl); } catch (RuntimeException e) { LOGGER.error("Program ending because of an error in a method."); } finally { try { sqsClient.deleteQueue(b -> b.queueUrl(queueUrl)); LOGGER.info("Queue successfully deleted. Program ending."); sqsClient.close(); } catch (RuntimeException e) { LOGGER.error("Program ending."); } finally { sqsClient.close(); } } } /** This method demonstrates how to use a Java Map to a tag a aueue. * @param queueUrl The URL of the queue to tag. */ public static void addTags(String queueUrl) { // Build a map of the tags. final Map<String, String> tagsToAdd = Map.of( "Team", "Development", "Priority", "Beta", "Accounting ID", "456def"); try { // Add tags to the queue using a Consumer<TagQueueRequest.Builder> parameter. sqsClient.tagQueue(b -> b .queueUrl(queueUrl) .tags(tagsToAdd) ); } catch (QueueDoesNotExistException e) { LOGGER.error("Queue does not exist: {}", e.getMessage(), e); throw new RuntimeException(e); } } /** This method demonstrates how to view the tags for a queue. * @param queueUrl The URL of the queue whose tags you want to list. */ public static void listTags(String queueUrl) { ListQueueTagsResponse response; try { // Call the listQueueTags method with a Consumer<ListQueueTagsRequest.Builder> parameter that creates a ListQueueTagsRequest. response = sqsClient.listQueueTags(b -> b .queueUrl(queueUrl)); } catch (SqsException e) { LOGGER.error("Exception thrown: {}", e.getMessage(), e); throw new RuntimeException(e); } // Log the tags. response.tags() .forEach((k, v) -> LOGGER.info("Key: {} -> Value: {}", k, v)); } /** * This method demonstrates how to remove tags from a queue. * @param queueUrl The URL of the queue whose tags you want to remove. */ public static void removeTags(String queueUrl) { try { // Call the untagQueue method with a Consumer<UntagQueueRequest.Builder> parameter. sqsClient.untagQueue(b -> b .queueUrl(queueUrl) .tagKeys("Accounting ID") // Remove a single tag. ); } catch (SqsException e) { LOGGER.error("Exception thrown: {}", e.getMessage(), e); throw new RuntimeException(e); } } }-
API の詳細については、「AWS SDK for Java 2.x API リファレンス」の以下のトピックを参照してください。
-
Amazon SQS Java Messaging Library を使用して JMS インターフェイスを操作する
サーバーレスサンプル