sls step functions failed to deploy
Serverless Framework(sls)でLambdaのStep Functionsを使おうとしたところ、エラーが発生。
serverless-step-functionsのサンプルから構築してbefore.serverless.ymlを構築した。ができなかった。修正版after.serverless.ymlにしたら改善された。
出たエラー
code:error
✖ Stack xxxx-prod failed to deploy
Error:
CREATE_FAILED: SampleStateMachineIDRole (AWS::IAM::Role)
Resource handler returned message: "The policy failed legacy parsing (Service: Iam, Status Code: 400, Request ID: 45642dc7-xxxx-4573-939a-a432c01c2853)" (RequestToken: cc560dc2-aaaa-c820-138a-f10beff66925, HandlerErrorCode: InvalidRequest)
実際のコード
code:before.serverless.yml
stepFunctions:
stateMachines:
SampleStateMachine:
definition:
Comment: "step functions sample"
StartAt: ExecFunc
States:
ExcecFunc:
Type: Task
Resource: arn:aws:lambda:#{AWS::Region}:#{AWS::AccountId}:function:${self:service}-${self:provider.stage}-samplefunc
Next: samplefunc2
code:after.serverless.yml
stepFunctions:
stateMachines:
SampleStateMachine:
definition:
Comment: "step functions sample"
StartAt: ExecFunc
States:
ExcecFunc:
Type: Task
Resource:
Next: samplefunc2
これでエラーが解消された。
参考文献