aws-cliを使用して、SQSでリスト、キューの作成、削除、メッセージの送信、端末からのメッセージの受信などの操作を実行できます。この記事では、これらの種類の操作を実行するためのコマンドについて説明します。先に進む前に、AWSSQSキューに精通していることを前提としています。
aws-cliで利用できるオプションの詳細については、こちらの公式ドキュメントをご覧ください。
- AWSアカウント(アカウントがない場合は作成します)。
- SQSキューの基本的な理解(Terraformを使用してSQSキューを作成する方法については、ここをクリックしてください)。
- AmazonSQSFullAccessポリシーが添付された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=<aws-user-access-key>
export AWS_SECRET_ACCESS_KEY=<aws-user-secret-key>
今回は、次のコマンドを実行して本人確認を行うことができます
aws sts get-caller-identity
aws-cliを使用してSQSキューを管理する
現在の地域で利用可能なすべてのキューを一覧表示する
aws sqs list-queues
プレフィックスが一致するキューを一覧表示することもできます
aws sqs list-queues --queue-name-prefix "rahul"
SQSキューを作成するには、次のコマンドを実行します。
aws sqs create-queue --queue-name my-sqs-using-cli
キューの作成中にタグを付けることもできます。
aws sqs create-queue --queue-name my-sqs-using-cli-with-tag --tags "env"="test"
キューの作成中に属性を指定して、属性DelaySecondsを使用してキューを作成することもできます。次のコマンドを実行します。
aws sqs create-queue --queue-name my-sqs-using-cli-with-attribute --tags "env"="test" --attributes DelaySeconds=10
キューが持つすべての属性を確認してください。
aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/<aws-account-number>/my-sqs-using-cli-with-attribute --attribute-names All
キューが持つ特定の属性を確認します。この場合、DelaySecondsの値がコマンドによって返されます。
aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/<aws-account-number>/my-sqs-using-cli-with-attribute --attribute-names DelaySeconds
キューとの間でメッセージを送受信しましょう。
aws sqs send-message --queue-url https://sqs.us-east-1.amazonaws.com/<aws-account-number>/my-sqs-using-cli --message-body "Test message to my-sqs-using-cli sqs"
aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/<aws-account-number>/my-sqs-using-cli
メッセージ数はSQSダッシュボードで確認できます。
キューからメッセージを削除する場合は、キューを削除できます
sqs purge-queue --queue-url https://sqs.us-east-1.amazonaws.com/<aws-account-number>/my-sqs-using-cli
sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/<aws-account-number>/my-sqs-using-cli
キューを削除するには、そのURLが必要です。
aws sqs list-queues --queue-name-prefix "rahul"
aws sqs delete-queue --queue-url https://sqs.us-east-1.amazonaws.com/<aws-account-number>/rahul-test
aws sqs list-queues --queue-name-prefix "rahul"
この記事では、リスト、SQSキューの作成、メッセージの送受信、属性の確認を行うコマンドについて説明しました。これは開始するためのガイドになる可能性があり、SQSキューで他の操作を自分で調べることができるようになりました。