Asteria WarpフローデザイナーとAWSのSimple Queue Service(SQS)の連携:AWS_SQSPutコンポーネントを使用してSQSへメッセージを出力する

はじめに

AWS_SQSPutコンポーネントを使用することで、Simple Queue Service(SQS)へメッセージを出力できます。
※今回もAWSコネクションを使用しますが、DynamoDBと連携する回で作成したAWSコネクションがそのまま使用できます。
※また、接続するSQSのキューはFIFOではありません。

AWS_SQSPutコンポーネントと今回の確認に使用するフローについて

SQSへメッセージを出力するコンポーネントと、確認に使用するフローを解説します。

AWS_SQSPutコンポーネントのプロパティについて

このコンポーネントのプロパティとして設定した内容は以下の通りで、すべて「基本」タブの設定です。「メッセージ属性」タブなどの載っていない項目はデフォルトのままです。

  • コネクションを使用:はい
  • コネクション名:(使用するAWSコネクションを入力します。下図ではDynamoDBと連携する回で作成したものを使用しています。)
  • キューURL:(メッセージを出力したいキューのキューURLを入力します。ブラウザでSQSの各キューを開いた際に表示される詳細欄の項目「URL」から確認するか、コネクション選択後にAWS_SQSPutコンポーネントをダブルクリックして「Amazon SQS Queue Browser」で選択してください。)
  • エンコードする:いいえ(「はい」にするとBase64でメッセージがエンコードされます。)
今回の確認に使用するフローについて

AWSのSQSへメッセージを出力できることを確認するために、下図のフローを作成しました。
メッセージ本文として使用するテキストをFileGetコンポーネントで取得し、AWS_SQSPutコンポーネントで指定したキューに送信します。

AWS_SQSPutコンポーネントの動作確認用フロー

フローの解説

FileGet

指定したテキストファイルからSQSのメッセージ本文として使用する文字列を取得します。この例では、文字列「AWS_SQS_TestMessage」を取得しています。

AWS_SQSPut

直前のFileGetで取得した文字列を、プロパティのコネクションとキューURLで指定したSQSに出力します。

実行結果

フローの最後がEndResponseなので、終了後に出力ストリーム「AWS_SQS_TestMessage」を返します。

フロー実行後の正常終了画面

フローの実行後にブラウザでAWSのSQSを開いて、指定したキューでメッセージのポーリングを行うと、テキストファイルから取得した文字列(今回の例なら「AWS_SQS_TestMessage」)がメッセージとして出力されていることが確認できます。