com.amazonaws.services.sns.util

## クラス Topics

- java.lang.Object
- - com.amazonaws.services.sns.util.Topics

-     public class Topics
      extends java.lang.Object

  Set of utility methods for working with Amazon SNS topics.

- - ### コンストラクタの概要

    コンストラクタ
    コンストラクタと説明
    `Topics()`

  - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `static java.lang.String` | `subscribeQueue(AmazonSNS sns, AmazonSQS sqs, java.lang.String snsTopicArn, java.lang.String sqsQueueUrl)` Subscribes an existing Amazon SQS queue to an existing Amazon SNS topic.

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### Topics

          public Topics()

  - ### メソッドの詳細

    - #### subscribeQueue

          public static java.lang.String subscribeQueue(AmazonSNS sns,
                                        AmazonSQS sqs,
                                        java.lang.String snsTopicArn,
                                        java.lang.String sqsQueueUrl)
                                                 throws AmazonClientException,
                                                        AmazonServiceException

      Subscribes an existing Amazon SQS queue to an existing Amazon SNS topic.

      The specified Amazon SNS client will be used to send the subscription request, and the Amazon SQS client will be used to modify the policy on the queue to allow it to receive messages from the SNS topic.

      The policy applied to the SQS queue is similar to this:

           {
              "Version" : "2008-10-17",
              "Statement" : [{
                 "Sid" : "topic-subscription-arn:aws:sns:us-west-2:599109622955:myTopic",
                 "Effect" : "Allow",
                 "Principal" : {
                    "AWS":["*"]
                 },
                 "Action" : ["sqs:SendMessage"],
                 "Resource":["arn:aws:sqs:us-west-2:599109622955:myQueue"],
                 "Condition" : {
                    "ArnLike":{
                       "aws:SourceArn":["arn:aws:sns:us-west-2:599109622955:myTopic"]
                    }
                 }
              }]
           }

      IMPORTANT: If there is already an existing policy set for the specified SQS queue, this operation will overwrite it with a new policy that allows the SNS topic to deliver messages to the queue.

      IMPORTANT: There might be a small time period immediately after subscribing the SQS queue to the SNS topic and updating the SQS queue's policy, where messages are not able to be delivered to the queue. After a moment, the new queue policy will propagate and the queue will be able to receive messages. This delay only occurs immediately after initially subscribing the queue.

      IMPORTANT: The specified queue and topic (as well as the SNS and SQS client) should both be located in the same AWS region.

      パラメータ:
        `sns` - The Amazon SNS client to use when subscribing the queue to the topic.
        `sqs` - The Amazon SQS client to use when applying the policy to allow subscribing to the topic.
        `snsTopicArn` - The Amazon Resource Name (ARN) uniquely identifying the Amazon SNS topic. This value is returned form Amazon SNS when creating the topic.
        `sqsQueueUrl` - The URL uniquely identifying the Amazon SQS queue. This value is returned from Amazon SQS when creating the queue.
      戻り値:
        The subscription ARN as returned by Amazon SNS when the queue is successfully subscribed to the topic.
      例外:
        `AmazonClientException` - If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
        `AmazonServiceException` - If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.