第4回デモ SQSのメッセージを操作する
ゴール
Node JS から SQS を操作する
方法
ステップ 0: 環境構築
Node JS をインストール
https://nodejs.org/ja/ から推奨版 Node JS をダウンロード
「
node-v6.11.2-x64
」を実行し、推奨版 Node JS をインストール(全てデフォルトの設定)コマンドプロンプトを起動し、
npm -v
を実行して Node JS がインストールされていることを確認
実行例C:\Users\xxx>npm -v
3.10.10
SQSを操作するアプリをダウンロード
- ドライブにある「
sqs-demo.zip
」をダウンロードし、解凍する コマンドプロンプトでアプリのフォルダに移動
実行例C:\Users\xxx>cd Downloads/sqs-demo
C:\Users\xxx\Downloads\sqs-demo>ls
node_modules package.json src
- ドライブにある「
SQSへのアクセス権限を設定
- 第2回講義の予習で作成した管理者権限を持つIAMユーザーでAWSにサインインし、IAMサービスの画面を開く
- ナビゲーションペインの [ユーザー] を選択
- サインインした [ユーザー] を選択し、概要の [認証情報] を選択
- [アクセスキーの作成] を選択
- 以下の情報をメモし、[閉じる] を選択
- [アクセスキーID]
- [シークレットアクセスキー]
- [ユーザーのARN] の中央にある12桁の数字をメモする 例:
arn:aws:iam::2345xxxxxxxx:user/hoge
- アプリを解凍した場所/sqs-demo/sqs-demo/src/config.js 以下の項目を設定
- [accessKeyId] : v. の [アクセスキーID]
- [secretAccessKey] : v. の [シークレットアクセスキー]
- [accountId] : vi. の 12桁の数字
キューの作成
SQSサービスの画面を開く
コンテンツペインの [新しいキューの作成] を選択
キュー名に「
NLQ
」を記入し、[キューの作成] を選択(全てデフォルトの設定)
ステップ 1: 利用可能なメッセージを作成する
コマンドプロンプトで
npm run send-test
を実行
実行例C:\Users\xxx\Downloads\sqs-demo>npm run send-test
> [email protected] send-test C:\Users\xxx\Downloads\sqs-demo
> node src/send-test.js
SQSサービス画面を開き、画面右上の更新ボタンを選択
「
NLQ
」の [利用可能なメッセージ] が 100 になっていることを確認
※ここでスクリーンショット撮ってください「
NLQ
」を選択し、コンテンツペインの [キューの操作] を選択[メッセージの表示/削除] を選択
[表示最大] に「100」を記入
[メッセージのポーリングを開始] を選択
100 件のメッセージが受信されたことを確認(受信しただけでメッセージの削除はしていません)
※ここでスクリーンショットを撮ってください
ステップ 2: 利用可能なメッセージを受信して削除する
コマンドプロンプトで
npm run nlq-test
を実行
実行例C:\Users\xxx\Downloads\sqs-demo>npm run nlq-test
> [email protected] nlq-test C:\Users\xxx\Downloads\sqs-demo
> node src/nlq-test.js
{ MessageId: '7b09xxxxxx
SQSサービス画面を開き、画面右上の更新ボタンを選択
「
NLQ
」の [利用可能なメッセージ] が減っていることを確認少し時間を置いた後、再度更新ボタンを選択し、
「NLQ
」の [利用可能なメッセージ] が 0 になっていることを確認
応用編: メッセージを並列で受信、削除する
デモと必須復習課題はステップ2までです。以下、興味のある方は実施してみてください。
メッセージを並列で操作した場合、利用可能なメッセージが早く減ります!
コマンドプロンプトで
npm run send-test
を実行SQSサービス画面を開き、画面右上の更新ボタンを選択
「
NLQ
」の [利用可能なメッセージ] が 100 になっていることを確認複数のコマンドプロンプトで
npm run nlq-test
を実行少し時間を置いた後、再度更新ボタンを選択し、
「NLQ
」の [利用可能なメッセージ] が 0 になっていることを確認
※1つのコマンドプロントより 0 になる速度が速いです