当 CDK 定义时,是否可以在本地运行 AWS Step Functions?

2024-03-21

AWS Step Functions 可以使用以下命令在本地 Docker 环境中运行Step Functions 本地 Docker https://docs.aws.amazon.com/step-functions/latest/dg/sfn-local-docker.html。但是,步骤函数需要使用基于 JSON 的亚马逊国家语言 https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html。如果您的 AWS 基础设施(Step Functions 加 lambda)是使用 AWS CDK/CloudFormation 定义的,那么这根本不方便。

有没有办法从 CDK 或 CloudFormation 输出创建状态机的 Amazon States Language 定义,以便可以在本地运行步骤函数?

目前,我的开发周期需要 30 分钟才能在 AWS 中构建/部署/运行基于 Lambda 的步骤函数,以便对其进行测试,并且肯定有比这更好/更快的测试方法。


我们通过以下措施实现了这一目标:

下载:

https://docs.aws.amazon.com/step-functions/latest/dg/sfn-local.html https://docs.aws.amazon.com/step-functions/latest/dg/sfn-local.html

要在本地运行 Step Functions,请在提取本地 Step Function 文件的目录中运行:

java -jar StepFunctionsLocal.jar --lambda-endpoint http://localhost:3003

要创建状态机,您需要一个 json 定义(它可以从生成的模板中提取,也可以获取工具包插件 https://aws.amazon.com/blogs/compute/aws-step-functions-support-in-visual-studio-code/对于 Vs 代码,输入步骤函数,从模板中选择,这可以作为您的入门工具。还可以从 AWS 控制台的步骤函数的定义选项卡中获取它。

在定义 json 所在的目录中运行此命令:

aws stepfunctions --endpoint http://localhost:8083 create-state-machine --definition "cat step-function.json" --name "本地状态机" --role-arn "arn:aws:iam::012345678901:role/DummyRole"

你现在应该可以联系SF了(希望如此):)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 CDK 定义时,是否可以在本地运行 AWS Step Functions? 的相关文章

随机推荐