【发布时间】:2021-07-16 04:33:04
【问题描述】:
在 AWS sam 和 aws 环境中是否可以使用在 SAM 项目中定义的相同 json 文件在本地调用 SAM 步骤函数?
我正在尝试在 AWS“Stock Trade”示例中本地调用示例步骤函数,但提供 .asl.json 文件的 filename 而不是手动重新创建 json(以-reference 变量名)并将其粘贴到命令行。
我有两个必要的 docker 容器正在运行,例如
sam local start-lambda
和
docker run -p 8083:8083 amazon/aws-stepfunctions-local
在单独的 Mac 终端窗口中运行。
步骤函数在文件statemachine/stock_trader.asl.json中定义
问题是我能找到的 100% 的指南只是简单地重复通过标准输入而不是文件名创建状态机的同一 AWS 示例。
虽然我找不到任何记录在案的示例,但预感我发现我可以使用 --definition file://PATH/FILE 提供一个 json 文件,例如
aws stepfunctions --endpoint http://localhost:8083 create-state-machine \
--definition file://statemachine/stock_trader.asl.json \
--name StockTradingStateMachine --role-arn "arn:aws:iam::012345678901:role/DummyRole"
但是,这(自然)只是插入文字 json 文件...例如,使用诸如 "Resource": "${StockCheckerFunctionArn}" 之类的变量名称,而不是资源的本地 ARN。
有没有办法取消引用 json 文件中的变量名?还是我们必须为每个引用的资源手动创建(并维护)具有手动替换的“本地”ARN 的重复 json 文件?
【问题讨论】:
标签: aws-step-functions aws-sam