aw-cliユーティリティを使用して、ターミナルからSNSトピック、サブスクリプション、およびSNSトピックに対するその他の操作を実行するのは非常に簡単です。この記事では、aws-cliを使用してSNSトピックの作成、サブスクリプション、確認、およびサブスクリプションの削除を行うコマンドを紹介します。すでにAWSSNSサービスに精通していることを前提としています。
コマンドラインユーティリティaws-cliを使用してSNSトピックで実行できる操作については、こちらの公式ドキュメントにアクセスしてください。
- AWSアカウント(アカウントがない場合は作成します)。
- SNSトピックの基本的な理解(Terraformを使用してSNSトピックを作成する方法については、ここをクリックしてください)。
- SNSサブスクリプションの基本的な理解。
- AmazonSNSFullAccessポリシーが添付されたAWSIAMユーザーと、そのアクセスキーおよびシークレットキー(IAMユーザーの作成方法については、ここをクリックしてください)。
- ローカルマシンにインストールされているAWSCLI。
何をしますか?
- aws cliを確認し、ローカルマシンにAWSアクセスとシークレットキーをエクスポートします。
- awscliを使用してSNSトピックを管理します。
aws cliを確認し、ローカルマシンでawsアクセスとシークレットキーをエクスポートします。
aws-cliがない場合は、こちらの公式ドキュメントを参照してローカルマシンにインストールし、次のコマンドを使用してバージョンを確認してください。
aws --version
次のコマンドを実行すると、ターミナルでAWSアカウントへのアクセスがまだ設定されていないため、エラーが発生します。
aws sts get-caller-identity
次のコマンドを使用して、AWSIAMユーザーアクセスとシークレットキーをターミナルにエクスポートします。
export AWS_ACCESS_KEY_ID =
export AWS_SECRET_ACCESS_KEY =
今回は、以下のコマンドを実行することで本人確認ができます。出力にユーザーの詳細が表示されます。
aws sts get-caller-identity
aws-cliを使用してSNSトピックを管理する
現在の地域にあるSNSトピックを確認しましょう。
aws sns list-topics
SNSトピックを作成するには、次のコマンドを実行します。必要に応じて、他の名前を指定できます。
aws sns create-topic --name my-sns-topic-by-cli
SNSトピックを作成するときに、タグを指定することもできます。一度に複数のタグを指定することもできます。
aws sns create-topic --name my-sns-topic-by-cli-with-tag --tags Key =env、Value =test
トピックを一覧表示すると、今回新しく作成されたトピックを確認できます。
aws sns list-topics
arnを指定して、特定のSNSトピックの属性を確認することもできます。トピックのarnを取得するには、最初にトピックをリストしてから、目的のトピックのarnをコピーします。
aws sns list-topics
aws sns get-topic-attributes --topic-arn arn:aws:sns:us-east-1::my-sns-topic-by-cli
次のコマンドを使用して、現在のリージョンのすべてのサブスクリプションを確認できます。
aws sns list-subscriptions
サブスクリプションを作成するには、SNSトピックのプロトコルとarnを指定する必要があります。この場合、エンドポイントとして電子メールを使用してサブスクリプションを作成します。サブスクリプションでサポートされているエンドポイントにはさまざまなものがあり、目的のエンドポイントを指定できます。
aws sns subscribe --topic-arn arn:aws:sns:us-east-1::my-sns-topic-by-cli --protocol email --notification-endpoint @
aws sns list-subscriptions
サブスクリプションが作成されると、確認メールが届きます。メールで指定されたリンクをクリックしてサブスクリプションを確認するか、トークンを使用してCLIから確認できます。リンクアドレスをコピーしてトークンを取得します。ターミナルからサブスクリプションを確認するコマンドが表示されます。
確認リンクアドレスには、以下で強調表示されているトークンが含まれます。コピーしてCLIから確認します。
aws-cliを使用してサブスクリプションを確認するには、次のコマンドを使用し、コマンドでtopic-arnとトークンを指定します。
aws sns list-subscriptions<前> AWS SNS確認サブスクリプション--topic-ARN ARN:AWS:SNS:私たち-東1:<あなたのアカウント番号>:私の-SNS-トピックごとのCLI --token 2336412f37fb687f5d51e6e2425e90ccf51427f70d347f743e373ed99c34222d699f93426571175db9bc0b81296ae69f53a889e1fbd11571c642308353d4648c67a2851b17a7f3cc1b7e1aaccae0881c5855df5d37bcae458305855d98fcd012d1ed4728a2064c6425b77b00e62b8d4fcf7fcccfb212d6850e3fa450c25cdf9a
aws sns list-subscriptions
サブスクリプションは、サブスクリプションarnを指定するだけで削除またはサブスクリプション解除できます。エンドポイントのサブスクライブが解除されると、通知はエンドポイントに到達しなくなります。
aws sns list-subscriptions
aws sns unsubscribe --subscription-arn arn:aws:sns:us-east-1::my-sns-topic-by-cli:cde0b12a-437c-49da-ab25-bc467701156d
aws sns list-subscriptions
トピックが不要になったら、削除することをお勧めします。トピックを削除するときは注意してください。一度削除すると元に戻すことはできません。
aws sns list-topics
aws sns delete-topic --topic-arn arn:aws:sns:us-east-1::my-sns-topic-by-cli
614 aws sns list-topics
この記事では、SNSトピック、サブスクリプションを作成し、サブスクリプションを確認する手順を説明しました。また、aws-cliコマンドを使用してサブスクリプションとSNSトピックを削除する方法も確認しました。