无法使用无服务器框架调用步骤功能("stepf" 不是有效的子命令)
Fail to invoke step function using serverless framework ("stepf" is not a valid sub command)
serverless步骤功能插件安装完成后
npm install -g serverless
npm install -g serverless-step-functions
...并通过
成功部署step函数
serverless deploy
... 然后我尝试 运行: serverless invoke stepf
serverless invoke stepf --name ${sf} --data '${OUTPUT}'
Serverless Error ---------------------------------------
"stepf" is not a valid sub command. Run "serverless invoke" to see a more helpful error message for this command.
... 我得到 "stepf" 不是有效的子命令
为什么不能使用 serverless-step-functions 插件中的功能来调用步骤函数?
调用命令在 serverless-step-functions git-hub 页面上有描述:
https://github.com/serverless-operations/serverless-step-functions#invoke
插件serverless-step-functions使用的版本是2.21.1
编辑
一条重要信息是调用命令是从不包含 serverless.yml 文件的文件夹中执行的
调用命令是从没有 serverless.yml 文件的目录中执行的。
添加这个最小的 yaml 文件激活插件
service: some-step-function
provider:
name: aws
region: eu-north-1
runtime: java11
timeout: 30
plugins:
- serverless-step-functions
但是为了运行:
serverless invoke stepf --name ${sf} --data '${input}'
...invoke中的name参数必须是serverless.yml文件中描述的名称。
在下面的示例中,name 参数的正确值为 aStateMachine。我先做了未修正的假设,name与状态机下的name参数相同
service: some-step-function
provider:
name: aws
region: eu-north-1
runtime: java11
timeout: 30
...
stepFunctions:
stateMachines:
aStateMachine:
name: thisIsNotTheName
plugins:
- serverless-step-functions
有趣的是,您与上述 serverless.yml 文件位于同一目录中。对步骤函数的有效调用可能类似于:
serverless invoke stepf --name aStateMachine --data '{}'
上面的例子解释了问题中的错误信息。
然而,构建一个从您拥有 serverless.yml 文件的目录执行调用命令的解决方案要方便得多。
serverless步骤功能插件安装完成后
npm install -g serverless
npm install -g serverless-step-functions
...并通过
成功部署step函数serverless deploy
... 然后我尝试 运行: serverless invoke stepf
serverless invoke stepf --name ${sf} --data '${OUTPUT}'
Serverless Error ---------------------------------------
"stepf" is not a valid sub command. Run "serverless invoke" to see a more helpful error message for this command.
... 我得到 "stepf" 不是有效的子命令
为什么不能使用 serverless-step-functions 插件中的功能来调用步骤函数?
调用命令在 serverless-step-functions git-hub 页面上有描述: https://github.com/serverless-operations/serverless-step-functions#invoke
插件serverless-step-functions使用的版本是2.21.1
编辑
一条重要信息是调用命令是从不包含 serverless.yml 文件的文件夹中执行的
调用命令是从没有 serverless.yml 文件的目录中执行的。
添加这个最小的 yaml 文件激活插件
service: some-step-function
provider:
name: aws
region: eu-north-1
runtime: java11
timeout: 30
plugins:
- serverless-step-functions
但是为了运行:
serverless invoke stepf --name ${sf} --data '${input}'
...invoke中的name参数必须是serverless.yml文件中描述的名称。
在下面的示例中,name 参数的正确值为 aStateMachine。我先做了未修正的假设,name与状态机下的name参数相同
service: some-step-function
provider:
name: aws
region: eu-north-1
runtime: java11
timeout: 30
...
stepFunctions:
stateMachines:
aStateMachine:
name: thisIsNotTheName
plugins:
- serverless-step-functions
有趣的是,您与上述 serverless.yml 文件位于同一目录中。对步骤函数的有效调用可能类似于:
serverless invoke stepf --name aStateMachine --data '{}'
上面的例子解释了问题中的错误信息。 然而,构建一个从您拥有 serverless.yml 文件的目录执行调用命令的解决方案要方便得多。