以下是一个使用AWS Lambda从S3解压到S3的解决方案,附带代码示例。
创建Lambda函数:
编辑Lambda函数代码:
import boto3
import zipfile
def lambda_handler(event, context):
# 获取输入和输出S3桶和对象键
input_bucket = event['Records'][0]['s3']['bucket']['name']
input_key = event['Records'][0]['s3']['object']['key']
output_bucket = 'your-output-bucket-name' # 替换为您的输出桶名称
output_key = 'your-output-object-key' # 替换为您的输出对象键
# 创建S3客户端
s3_client = boto3.client('s3')
# 下载输入S3对象到临时目录
tmp_file = '/tmp/input.zip'
s3_client.download_file(input_bucket, input_key, tmp_file)
# 解压缩文件
with zipfile.ZipFile(tmp_file, 'r') as zip_ref:
zip_ref.extractall('/tmp')
# 上传解压后的文件到输出S3桶
s3_client.upload_file('/tmp/your-output-file-name', output_bucket, output_key)
配置Lambda函数的触发器:
测试解决方案:
以上是一个基本的AWS Lambda从S3解压到S3的解决方案。您可以根据自己的需求进行修改和优化。
上一篇:AWS Lambda CodePipeline找不到我的deps.json文件?
下一篇:AWS Lambda 错误:错误:运行时启动失败:fork/exec /opt/bootstrap:没有此文件或目录