aws s3 cp s3:/// --checksum
import boto3
import hashlib
s3 = boto3.resource('s3')
def upload_file_to_s3(file_path, bucket_name, object_key):
with open(file_path, "rb") as f:
md5 = hashlib.md5()
md5.update(f.read())
etag = md5.hexdigest()
s3.Object(bucket_name, object_key).put(Body=f, ETag=etag)
在上面的代码示例中,我们计算文件的MD5哈希值作为ETag,并将其传递给S3对象的ETag参数。
import boto3
from botocore.config import Config
my_config = Config(region_name='us-west-2',
signature_version='s3v4',
retries={
'max_attempts': 10,
'mode': 'standard'
})
s3 = boto3.resource('s3', config=my_config)
在上面的代码示例中,我们使用botocore.config.Config配置对象,指定区域名称、签名版本和重试模式等选项。