AWS步函数执行中的全局变量替代方案

3
我正在使用SAM启动一个步骤函数来运行工作流,之前在Lambda之间传递信息时我使用了事件,效果非常好!但是现在,我需要让几乎每个Lambda都能够访问步骤函数调用输入中接收到的常量(每次执行时都会更改),就像全局变量一样。
我知道可以通过在每个Lambda输出中返回它来解决这个问题,但我认为这是一个非常丑陋的解决方案:(
有没有办法从步骤函数中的Lambda访问执行上下文并向其添加数据?任何其他解决方案也可以。
3个回答

0
您可以通过访问状态输入参数中的上下文对象,从任何状态中访问您的步骤函数调用输入。
为您的阶段选择AWS SDK集成类型,并将$$.Execution.Input上下文字段转发到您的Lambda负载。

pass state

enter image description here

enter image description here

事件的lambda是什么
{
  "stepFunctionArguments":{
    "MyKey": "MyValue"
  },
  "payloadFromPreviousState": {
    "task1output": "foobar_result"
  }
}

0

0

阅读文档后,我发现您可以从状态机中的每个状态访问context对象。

您可以将需要作为全局的信息作为输入传递给状态机,然后从context对象中访问状态机输入。

您可以参考链接的文档以了解如何访问context对象。


这应该是被接受的答案。 - SweetFeet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接