我是无服务器框架的新手。我只想为开发环境部署状态机,而不要为其他环境部署状态机。如何在特定阶段部署它?我已经尝试了无服务器-插件-ifelse进行部署,但是在状态机的情况下它不起作用。我的serverless.yml看起来像
serverlessIfElse:
- If: '"${self:custom.currentStage}" == "beta"'
Exclude:
- stepFunctions.stateMachines
stepFunctions:
stateMachines:
pruneIndices:
${file(./handlers/prune-indexes/prune-indexes.yml)}
答案 0 :(得分:1)
如果可以为您的状态机提供名称,请添加要部署的阶段作为该状态机名称的一部分。我通常用多个变量来命名资源,以更好地命名它们,例如,您可以使用:
${self:service}-myStateMachineName-${opt:stage, 'dev'}
通过这种方式,即使您在同一帐户上重复使用状态机,每个服务的状态机也将始终是唯一的,并且如果在部署过程中通过了serverless deploy --stage mystage
之类的阶段,则状态机将是唯一的或默认为{{1} }(如果未指定阶段)。