Python - 创建 aws lambda 部署包

Python - creating aws lambda deployment package

我想使用 Fabric 任务为我的 AWS Lambda 编写脚本更新代码。 Boto3 api 需要一个 base-64 编码 zip 文件的字节数组。

假设我有源代码文件作为输入,创建它的最简单方法是什么?

实际上boto3文档已经过时了,你应该直接传递字节:

https://github.com/boto/boto3/issues/201

关于 zip 文件,这应该为您指明了正确的方向:

用现在的boto3,不要解压,不要base64编码。 你可以像这样打开和阅读:

import boto3
c = boto3.client('lambda')
c.create_function({
    'FunctionName': 'your_function',
    'Handler': 'your_handler',
    'Runtime': 'python3.6',
    'Code': {'ZipFile': open('./deploy.zip', 'rb').read()}
})

我使用上面的 zip 文件来快速入门。您还可以将 deploy.zip 上传到 S3 存储桶并将存储桶 + 密钥作为 'Code' 字典中的字符串作为 'S3Bucket' 和 'S3Key'.

传递