この記事は公開されてから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)他にも多数の連携が発表されていますので、これらをサッと使いこなせると構築の幅がとても広がるのではないかと思います。