Serverless Operations, inc

>_cd /blog/id_052

title

Serverless FrameworkでStep Functionsが使えるプラグインをリリースしました

概要

Serverless Step Functions をリリースしました。Serverlessのコマンドを通してStep Functionsのデプロイや実行が可能です。Step Functionsを定義するためのAmazon State Languageもyamlで書くことが可能です。

Step Functionの定義

以下のようにstepFunctionsというステートメントを作って、そこにAmazon State Languageでstep functionを記述してください。yamlの記述のみ対応してます。
Resourceには通常、LambdaファンクションのARNを指定しますが、functionsステートメントの中のfunction名を指定すれば、OKです

functions:
  hellofunc:
    handler: handler.hello

stepFunctions:
  stateMachines:
    hellostepfunc:
      Comment: "A Hello World example of the Amazon States Language using an AWS Lambda Function"
      StartAt: HelloWorld
      States: 
        HelloWorld: 
          Type: Task
          Resource: hellofunc
          End: true


コマンドの使い方

deployinvokeremoveというコマンドを用意しています。
すべて、–state か -t でstep function名を指定します。上記の例で言えば、hellostepfuncを指定します。これは必須のオプションです。

また、–stageと–regionのオプションにも対応しているので、テスト環境と本番環境を分けたりといったことも可能です。

デプロイ

以下がコマンドになります

$ sls deploy stepf statemachines --name <stepfunctionname> 

ちなみに、Step Functionは更新に対応していないのですが、作成済みのStep Functionを削除して新規作成することで更新に対応してます。実行履歴とかは消えちゃいますが、そこは仕方ないっすね。。

Step Function実行

–data か -d で引数のJSONデータを指定します

$ sls invoke stepf --state <stepfunctionname> --data '{"foo":"bar"}'

削除

$ sls delete stepf --state <stepfunctionname>

まとめ

是非、フィードバックなどお待ちしています!それでは良いステップファンクションライフを!

Written by
CEO

堀家 隆宏

Takahiro Horike

  • Facebook->
  • X->
  • GitHub->
Back
to list
<-