

# Accessing Amazon SNS in the AWS CLI
<a name="cli-services-sns"></a>

AWS Command Line Interface (AWS CLI) を使用して、Amazon Simple Notification Service (Amazon SNS) の機能にアクセスできます。Amazon SNS 用の AWS CLI コマンドを一覧表示するには、次のコマンドを使用します。

```
aws sns help
```

コマンドを実行する前に、デフォルトの認証情報を設定します。詳細については、「[Configuring settings for the AWS CLI](cli-chap-configure.md)」を参照してください。

このトピックでは、Amazon SNS の一般的なタスクを実行する AWS CLI コマンドの例について説明します。

**Topics**
+ [トピックの作成](#cli-create-sns-topic)
+ [トピックへのサブスクライブ](#cli-subscribe-sns-topic)
+ [トピックへの発行](#cli-publish-sns-topic)
+ [トピックからサブスクリプションを解除する](#cli-unsubscribe-sns-topic)
+ [トピックの削除](#cli-delete-sns-topic)

## トピックの作成
<a name="cli-create-sns-topic"></a>

トピックを作成するには、[https://docs.aws.amazon.com/cli/latest/reference/sns/create-topic.html](https://docs.aws.amazon.com/cli/latest/reference/sns/create-topic.html) コマンドを使用して、トピックに割り当てる名前を指定します。

```
$ aws sns create-topic --name my-topic
{
    "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic"
}
```

レスポンスの `TopicArn` を書き留めます。これは、後でメッセージを発行するために使用します。

## トピックへのサブスクライブ
<a name="cli-subscribe-sns-topic"></a>

トピックをサブスクライブするには、[https://docs.aws.amazon.com/cli/latest/reference/sns/subscribe.html](https://docs.aws.amazon.com/cli/latest/reference/sns/subscribe.html) コマンドを使用します。

次の例では、`email` プロトコルと `notification-endpoint` の E メールアドレスを指定します。

```
$ aws sns subscribe --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic --protocol email --notification-endpoint saanvi@example.com
{
    "SubscriptionArn": "pending confirmation"
}
```

AWS は、`subscribe` コマンドで指定したアドレスに E メールで確認メッセージを送信します。E メールメッセージには、次のようなテキストが含まれています。

```
You have chosen to subscribe to the topic:
arn:aws:sns:us-west-2:123456789012:my-topic
To confirm this subscription, click or visit the following link (If this was in error no action is necessary):
Confirm subscription
```

受信者が **サブスクリプションを確認** リンクをクリックすると、受信者のブラウザに次のような情報を含んだ通知メッセージが表示されます。

```
Subscription confirmed!

You have subscribed saanvi@example.com to the topic:my-topic.

Your subscription's id is:
arn:aws:sns:us-west-2:123456789012:my-topic:1328f057-de93-4c15-512e-8bb22EXAMPLE

If it was not your intention to subscribe, click here to unsubscribe.
```

## トピックへの発行
<a name="cli-publish-sns-topic"></a>

トピックのすべての受信者にメッセージを送信するには、[https://docs.aws.amazon.com/cli/latest/reference/sns/publish.html](https://docs.aws.amazon.com/cli/latest/reference/sns/publish.html) コマンドを使用します。

次の例は、「Hello World\$1」というメッセージを 指定されたトピックのサブスクライバー全員に送信します。

```
$ aws sns publish --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic --message "Hello World!"
{
    "MessageId": "4e41661d-5eec-5ddf-8dab-2c867EXAMPLE"
}
```

この例では、AWS が「Hello World\$1」というテキストが含まれる E メールメッセージを `saanvi@example.com` に送信します。

## トピックからサブスクリプションを解除する
<a name="cli-unsubscribe-sns-topic"></a>

トピックのサブスクリプションを解除し、そのトピックに発行されたメッセージの受信を停止するには、[https://docs.aws.amazon.com/cli/latest/reference/sns/unsubscribe.html](https://docs.aws.amazon.com/cli/latest/reference/sns/unsubscribe.html) コマンドを使用して、購読を解除するトピックの ARN を指定します。

```
$ aws sns unsubscribe --subscription-arn arn:aws:sns:us-west-2:123456789012:my-topic:1328f057-de93-4c15-512e-8bb22EXAMPLE
```

サブスクリプションが正常に解除されたことを確認するには、[https://docs.aws.amazon.com/cli/latest/reference/sns/list-subscriptions.html](https://docs.aws.amazon.com/cli/latest/reference/sns/list-subscriptions.html) コマンドを使用して、ARN がリストに表示されなくなったことを確認します。

```
$ aws sns list-subscriptions
```

## トピックの削除
<a name="cli-delete-sns-topic"></a>

トピックを削除するには、[https://docs.aws.amazon.com/cli/latest/reference/sns/delete-topic.html](https://docs.aws.amazon.com/cli/latest/reference/sns/delete-topic.html) コマンドを実行します。

```
$ aws sns delete-topic --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic
```

AWS によってトピックが正常に削除されたことを確認するには、[https://docs.aws.amazon.com/cli/latest/reference/sns/list-topics.html](https://docs.aws.amazon.com/cli/latest/reference/sns/list-topics.html) コマンドを使用して、トピックがリストに表示されなくなったことを確認します。

```
$ aws sns list-topics
```