【问题标题】:How to upload files in s3 bucket with same name如何在 s3 存储桶中上传同名文件
【发布时间】:2021-08-08 18:44:05
【问题描述】:

我想将文件上传到 s3 存储桶中,同名。下面是我的 lambda 代码。

import json
import base64
import boto3


def lambda_handler(event, context):
    # TODO implement
    print("event",event)
    print("context",context)
    
    s3Object = boto3.client("s3")
    
    get_file_content = event["content"]
    decode_content = base64.b64decode(get_file_content)
    
    s3_upload = s3Object.put_object(Bucket="apigwbucket001", Key="test.pdf", Body=decode_content)
    
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda! This is apiUploadBinaryFileToS3 Lambda')
    }

s3_upload = s3Object.put_object(Bucket="apigwbucket001", Key="aaa", Body=decode_content) 中,我给出了 "test.pdf" ,但是当我再次上传文件时,新文件被同名覆盖。

我在调用 API 网关时使用 Postman POST 方法集合。

【问题讨论】:

    标签: python amazon-s3 aws-lambda aws-api-gateway


    【解决方案1】:

    您不能将同名文件上传到存储桶并期望两者都存在。

    默认情况下,它会覆盖旧文件。

    但是,您可以使用支持版本的存储桶 https://docs.aws.amazon.com/AmazonS3/latest/userguide/AddingObjectstoVersioningEnabledBuckets.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-17
      • 2018-04-12
      • 1970-01-01
      • 2015-12-15
      • 2021-01-30
      • 2018-05-31
      • 2011-03-25
      • 2015-07-23
      相关资源
      最近更新 更多