CMSとデジタルマーケティングツール、会員サイトやWebシステムの開発。開発者ブログユーザー目線に立った使い心地の良いユーザビリティの設計と、Javaのオブジェクト指向を駆使して、パフォーマンスの最大化を追及。STSD株式会社の開発エンジニアによるブログです。SQSのキューにメッセージの送信、キューからの受信を行ってみました。Service)は自動でスケーリング等を行ってくれる完全マネージド型のメッセージキューイングサービスで、アプリケーションなどからメッセージのキューイング処理を切り離して運用することが可能です。Service(SNS)などを組み合わせることで、AWS自身から発せられるイベントの情報を一旦キューイングしておいて、アプリケーションから順次処理をしたりすることが可能になり、システム間の非同期なメッセージ処理を比較的容易に構築することができます。今回はこのSQSへメッセージの送信をしたり、受信することをJavaから行ってみます。キューの追加SQSではキューイングするメッセージを入れる箱を「キュー」と呼びます。この「キュー」をAWS上に作成します。Service」を開いて「新しいキューの作成」をクリックします。「キュー名」に作成するキューの名前を入力します。「キューの作成」をクリックしてキューを作成します。以上でキューが作成できました。ユーザー権限の設定Javaで使用するユーザーに下記のポリシーを追加します。ご自身のものに置き換えて下さい。※「ap-northeast-1」はキューを作成したリージョンです。異なる場合は書き換えてください。このポリシーでは「ap-northeast-1」(東京)リージョンの「devblog」キューに、メッセージを送信する「SendMessage」、メッセージを受信する「ReceiveMessage」、メッセージを削除する「DeleteMessage」を有効にしています。]}SQSの権限設定SQSにはJavaで使用するユーザーからのアクセスを許可するように設定します。SQSの管理コンソールからキューを選択し、「アクセス許可」タブを開きます。「アクセス許可の追加」をクリックします。「プリンシパル」にAWSのアカウントIDを入力、「すべてのSQSアクション」を選択します。「条件」に「ArnEquals」、「キー」に「aws:SourceArn」、「値」に「arn:aws:iam::[アカウントID]:user/[ユーザー名]」を入力します。使用する環境に合わせて適宜置き換えてください。「条件の追加」をクリック、「アクセス許可の追加」をクリックします。以上で設定は完了です。クライアントの用意ここからはJavaの実装例になります。SQSにアクセスするためのクライアントを用意します。このクライアントからSQSに関するAPIの使用が可能となります。使うとメッセージ送信時に細かな条件を指定することが可能です。System.currentTimeMillis());コードの中に出てくる「QUEUE_URL」はキューごとに割り当てられているURLです。SQSのコンソールに表示される下記がURLになります。使うことで細かな条件を指定することが可能です。message.getBody());}※ロングポーリングを使用すると、キュー上にメッセージが無い場合に指定した時間メッセージが来るのを待つことが出来るようになります。呼ばれるIDを指定します。message.getReceiptHandle());今回はこれで以上です。04日STSD株式会社について大手SIerの数多くの大規模Webシステム開発プロジェクトに参画し、200人を超える開発者が携わるシステム開発の生産性、品質を向上させるJavaフレームワークを自社開発して、プロジェクトを成功に導いてきました。ユーザー目線に立った使い心地の良いユーザビリティの設計と、オブジェクト指向を駆使して、パフォーマンスの最大化を追及しています。System)として開発、販売しています。」をリリースしました。2018」へブース出展しました。