Amazon web services 使用step函数跨区域调用AWS Lambda

Amazon web services 使用step函数跨区域调用AWS Lambda,amazon-web-services,aws-lambda,aws-api-gateway,aws-step-functions,Amazon Web Services,Aws Lambda,Aws Api Gateway,Aws Step Functions,呃, 我有一个连接多个Lambda的Step函数管道。使用AWS API网关启动Step函数。上述所有项目均在同一地区。 但是,基于客户机的IP来源,我希望在不同的区域使用step函数的一个lambda。我做了一些研究,但与step函数区域相比,似乎没有办法在不同的区域调用lambda 所以基本上这意味着我必须为我想使用的每个区域制作不同的API网关入口点和不同的Step函数管道,不同的lambda,对吗?我使用的S3存储是否会产生一些后果?如果Step函数不支持跨区域Lambda(看起来它们不

呃,

我有一个连接多个Lambda的Step函数管道。使用AWS API网关启动Step函数。上述所有项目均在同一地区。 但是,基于客户机的IP来源,我希望在不同的区域使用step函数的一个lambda。我做了一些研究,但与step函数区域相比,似乎没有办法在不同的区域调用lambda


所以基本上这意味着我必须为我想使用的每个区域制作不同的API网关入口点和不同的Step函数管道,不同的lambda,对吗?我使用的S3存储是否会产生一些后果?

如果Step函数不支持跨区域Lambda(看起来它们不支持),我的想法是在与Step函数相同的区域中使用“代理Lambda”,并在代理Lambda内调用跨区域Lambda。这并不理想,您将不得不处理传递,并且您将为lambda的持续时间支付两倍的费用(1x代理1x实际lambda),但这似乎比在所有区域拥有所有元素容易得多

我知道我做这件事已经太迟了,但还是要提出我的想法。
也许使用SQS?将一个事件放入另一个区域的SQS中,并添加一个lambda触发器。

我喜欢这个想法,这为我节省了大量时间,让所有其他组件都就位。但是我如何从代理lambda调用另一个lambda呢?我正在用Java进行开发。您可以使用AWS SDK for Java来调用Lambda。如果需要,您甚至可以使用资源策略跨帐户执行此操作,但在不需要的同一帐户内。我认为您的评论是前进的方向,但是我遇到了一些问题,我在这里描述了这些问题:欢迎使用StackOverflow!为了使这个答案更有效,添加一些代码,也许还有一些文档链接