AWSs3获取和上传对象时的Etag不匹配
创始人
2024-11-19 14:00:25
0

该问题通常由于在上传文件时,未正确设置Content-MD5头部信息,导致上传的Etag与实际文件的Etag不匹配。可以通过以下代码示例来正确设置Content-MD5头部信息:

import boto3
from botocore.exceptions import ClientError
import hashlib
import base64
 
def get_md5(file_path):
    """计算文件的MD5值"""
    md5 = hashlib.md5()
    with open(file_path,'rb')as f:
        while True:
            data = f.read(4096)
            if not data:
                break
            md5.update(data)
    return base64.b64encode(md5.digest()).decode()
 
# 客户端
s3 = boto3.client('s3')
 
# 桶名称和文件路径
bucket_name = 'my_bucket'
file_path = 'my_file.txt'
 
# 上传至S3
with open(file_path, 'rb') as data:
    content = data.read()
    md5 = get_md5(file_path)
    try:
        response = s3.put_object(
            ACL='private',
            Body=content,
            Bucket=bucket_name,
            Key=file_path,
            ContentMD5=md5
        )
        print("上传成功!")
    except ClientError as e:
        print(e)

在上述示例中,我们通过计算文件的MD5值,并将结果以base64编码的形式作为Content-MD5头部信息进行传输,从而确保上传的文件的Etag与实际文件的Etag一致。

相关内容

热门资讯

据目击者称!新道游app辅助器... 据目击者称!新道游app辅助器!原来是有辅助修改器(真的有挂)-哔哩哔哩新道游app辅助器是不是有人...
现有关情况通报如下!开心网辅助... 现有关情况通报如下!开心网辅助工具!真是存在有辅助平台(有挂工具)-哔哩哔哩;暗藏猫腻,小编详细说明...
出乎意料的是!上饶辅助!好像是... 出乎意料的是!上饶辅助!好像是有辅助修改器(有挂方法)-哔哩哔哩1、上饶辅助破解器简单,上饶辅助机器...
据相关数据显示!广西友乐app... 据相关数据显示!广西友乐app辅助工具!确实存在有辅助器(有挂攻略)-哔哩哔哩1、游戏颠覆性的策略玩...
今天上午!新上游通用挂!原来真... 今天上午!新上游通用挂!原来真的有辅助平台(有挂总结)-哔哩哔哩;一、新上游通用挂游戏安装教程牌型概...
有了最新消息!大唐山西辅助软件... 有了最新消息!大唐山西辅助软件!其实存在有辅助工具(有挂详情)-哔哩哔哩1、大唐山西辅助软件免费脚本...
值得注意的是!微乐贵阳捉鸡麻将... 值得注意的是!微乐贵阳捉鸡麻将开挂!其实真的是有辅助神器(有挂技巧)-哔哩哔哩1、玩家可以在微乐贵阳...
据报道!广东雀神智能插件安装软... 据报道!广东雀神智能插件安装软件!总是是真的辅助工具(有挂猫腻)-哔哩哔哩1、游戏颠覆性的策略玩法,...
今天下午!小程序牵手跑得快辅助... 今天下午!小程序牵手跑得快辅助器!一直是有辅助下载(有挂规律)-哔哩哔哩1、小程序牵手跑得快辅助器公...
今天上午!钱塘十三水透视脚本!... 今天上午!钱塘十三水透视脚本!好像真的有辅助平台(有挂教学)-哔哩哔哩该软件可以轻松地帮助玩家将钱塘...