Run awscli from AWS Lambda



我想从 AWS Lambda 执行 awscli for s3 sync 。 当我使用 ./aws 时,出现以下错误:

("状态:失败",127,"s3:./aws:没有这样的文件或目录"(

甚至尝试使用完整路径,但仍然出现错误:

('状态:失败',

127,'s3:/Library/Frameworks/Python.framework/Versions/2.7/bin/aws:没有这样的文件或目录 ')

我建议使用在 AWS Lambda 中实现的 AWS 开发工具包。有了这个,您可以访问 S3 和许多其他 AWS 服务。

尝试在这里寻找Python编程

其他 SDK 可在此处找到。 请记住,您可以只使用 Lambda 支持的语言。

AWSCLI 未安装在 AWS Lambda 上,因此无法开箱即用。

由于 AWS CLI 只是一个 Python 包,因此如果您使用 Python 作为运行时,则可以将其作为部署包的一部分上传。

使用 Python boto3,它已经包含在您的 Lambda 环境中。您可以使用它上传到您的 S3 存储桶,据我所知,它不使用同步命令,但与 CLI 中使用的 aws s3 cp 命令的工作方式相同。

我在 AWSLambda 中使用了 AWS CLI - 通过将其添加为层。您可以通过使用 CDK 构造编纂您的 Lambda 基础设施来将其添加为一个层。

https://pypi.org/project/aws-cdk.lambda-layer-awscli/

在我的用例中 - 我想运行aws s3 sync通信。

最新更新