AWSLambda解压并返回文件到S3bucket--存在zip文件夹名称遗漏的问题。
创始人
2024-09-26 06:01:31
0

问题原因是在解压缩zip文件时,有些文件夹可能会被遗漏,导致返回的文件不完整。解决方法可以采用以下代码示例:

import os import zipfile import boto3

s3_client = boto3.client('s3')

def lambda_handler(event, context): # Set the S3 bucket and key s3_bucket = 'my-s3-bucket' s3_key = 'path/to/my-zipfile.zip'

# Download the zip file from S3
local_zipfile = '/tmp/my-zipfile.zip'
s3_client.download_file(s3_bucket, s3_key, local_zipfile)

# Extract the files from the zip file
with zipfile.ZipFile(local_zipfile) as zf:
    for member in zf.infolist():
        # Skip directories
        if member.is_dir():
            continue

        # Extract the file
        zf.extract(member, '/tmp')

# Upload the extracted files to S3
for filename in os.listdir('/tmp'):
    local_file = os.path.join('/tmp', filename)

    s3_object_key = 'path/to/{}/{}'.format('my-zipfile', filename)
    s3_client.upload_file(local_file, s3_bucket, s3_object_key)

这段代码会下载zip文件到Lambda的本地环境,然后解压文件并将文件上传到S3 bucket。在为上传的文件构建S3对象键时,我们将zip文件夹名称手动添加到路径中,以确保所有文件都被正确地上传到目录中。

相关内容

热门资讯

一分钟了解!雷霆辅助,杭州边锋... 一分钟了解!雷霆辅助,杭州边锋网络游戏辅助,辅助教程(新版有挂)-哔哩哔哩;1.杭州边锋网络游戏辅助...
一分钟了解!新二号辅助下载,心... 一分钟了解!新二号辅助下载,心悦填大坑辅助,透明挂教程(有挂方法)-哔哩哔哩;1、这是跨平台的心悦填...
透视最新!决战卡五星游戏辅助器... 透视最新!决战卡五星游戏辅助器,科乐天天踢起手好牌,黑科技教程(有挂教程)-哔哩哔哩;最新版2026...
分辨真假!一乐浙江辅助软件,茶... 【福星临门,好运相随】;分辨真假!一乐浙江辅助软件,茶馆游戏辅助,分享教程(有挂讲解)-哔哩哔哩;暗...
透视美元局!蜜瓜大厅辅助免费下... 透视美元局!蜜瓜大厅辅助免费下载,海盗来了大白辅助,实用技巧(有挂透视)-哔哩哔哩;致您一封信;亲爱...
最新通报!潮友会透视辅助教程,... 最新通报!潮友会透视辅助教程,天天爱柳州辅助器,教你教程(有挂分享)-哔哩哔哩,潮友会透视辅助教程是...
透视黑科技!微信小程序蜀山辅助... 《透视黑科技!微信小程序蜀山辅助器免费下载,填大坑辅助器视频,大神讲解(讲解有挂)-哔哩哔哩》 微信...
科技新动态!丹东约战麻将辅助器... 科技新动态!丹东约战麻将辅助器,欢乐情怀辅助挂,攻略方法(讲解有挂)-哔哩哔哩;丹东约战麻将辅助器A...
透视真的!潮汕掌上娱透视软件,... 透视真的!潮汕掌上娱透视软件,新上游辅助器,揭秘教程(有挂技巧)-哔哩哔哩;1、不需要AI权限,帮助...
实测分享!hhpoker智能辅... 实测分享!hhpoker智能辅助插件,wepoker辅助透视,必备教程(一贯真的是有挂)-哔哩哔哩;...