Python - 创建 aws lambda 部署包

sum*_*mek 3 python boto boto3 aws-lambda

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

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

Bri*_* C. 5

使用当前的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()}
})
Run Code Online (Sandbox Code Playgroud)

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