如何从另一个lambda运行并行lambda



我正试图从另一个lambda并行触发几个lambda。我正在使用aiobotocore,这在本地运行良好,但当我尝试在AWSLambda上运行它时,我在导入模块上出现了错误:

Unable to import module 'lambda_function': cannot import name 'apply_request_checksum' from 'botocore.client' (/var/runtime/botocore/client.py)

我试过使用aiobot3,但由于它是一个包装器,同样的事情也发生了,我检查了包的版本,它们匹配。我尝试过更改python版本,但没有成功。

在谷歌上搜索这个特定的错误也无济于事。如果你需要任何精确性,请告诉我,任何提示都将不胜感激。

经过调查,发现这是一个包版本错误。aiobotocore需要的botocore包必须是完全相同的版本。由于botocore在AWS Lambda上是默认的,我不得不换一个旧版本的Aiobocore。

但是非常感谢你的回答!

使用stepfunctions!!!。它是为lamba编排提供的服务,只需按顺序或并行运行多个Lambda即可。

使用并行状态,Step函数可以同时执行多个Lambda。

正如Stealthy所指出的,这很可能是一个包版本问题。

每个python-Lambda Runtime都给出了boto3botocore的版本。

我使用了aiobotocore的版本,它依赖于尽可能接近运行时的版本。

最新更新