[アップデート]Step FunctionsでSQSにメッセージを登録してみた #reinvent

Step FunctionsからSQSを起動してみました。
2018.11.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは、福岡オフィス所属、IT推進室の井手です。

re:Invent 2018にて、Step Functionsの連携サービスが大幅に追加されました。
[神アップデート]Step Functionsが新たに8つのマネージドサービスと連携可能になりました! #reinvent

今回は、さっそくSQSの連携を試してみたいと思います。

やってみた

SQSの作成

まずは受け皿となるSQSを作ります。作成手順は割愛しますが、以下のように作成しています。

特別な設定は何もなく、Queue Nameを入力しただけです。(種類は通常の種類を選択しています)

Step Functionsの作成

 シンプルに作成してみました。単に、キューにmessageを送信しています。

ステートマシンの定義は以下
※アカウントIDの箇所だけ実際の相違しているので自身のアカウントに差し替えて下さい。

 

{
 "StartAt": "Send to SQS",
 "States": {
   "Send to SQS": {
     "Type": "Task",
     "Resource": "arn:aws:states:::sqs:sendMessage",
     "Parameters": {
       "QueueUrl": "https://sqs.ap-northeast-1.amazonaws.com/<アカウントID>/step_sqs",
       "MessageBody.$": "$.input.message"
     },
     "End": true
    }
  }
}

Step Functionsの実行

 コンソールより実行してみます。

無事成功しました。

送信したメッセージの確認

 次に、実際に送信されたメッセージ確認してみます。
無事にメッセージが追加されていますね。

中身も確認してみました。こちらも想定通りのmessageが表示されました!

さいごに

 今までStep Functionsというと、「ここでLambdaをキックして・・ここでもLambdaをキックして・・以下略」とLambda前提で検討し、その度にSDKで用意して・・となりがちだったかと思います。(SDKの勉強にはなりますが・・w)他にも多数の連携が発表されていますので、これらをサッと使いこなせると構築の幅がとても広がるのではないかと思います。  

参考にさせてもらった/他に追加された連携検証記事のリンク