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'.
传递
我想使用 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'.
传递