gpt4 book ai didi

ruby - 不支持您提供的授权机制。请使用 AWS4-HMAC-SHA256

转载 作者:数据小太阳 更新时间:2023-10-29 06:17:52 27 4
gpt4 key购买 nike

我收到错误 AWS::S3::Errors::InvalidRequest 不支持您提供的授权机制。请使用 AWS4-HMAC-SHA256. 当我尝试将文件上传到新法兰克福地区的 S3 存储桶时。所有适用于 US Standard 区域。

脚本:

backup_file = '/media/db-backup_for_dev/2014-10-23_02-00-07/slave_dump.sql.gz'
s3 = AWS::S3.new(
access_key_id: AMAZONS3['access_key_id'],
secret_access_key: AMAZONS3['secret_access_key']
)

s3_bucket = s3.buckets['test-frankfurt']

# Folder and file name
s3_name = "database-backups-last20days/#{File.basename(File.dirname(backup_file))}_#{File.basename(backup_file)}"

file_obj = s3_bucket.objects[s3_name]
file_obj.write(file: backup_file)

aws-sdk (1.56.0)

如何解决?

谢谢。

最佳答案

AWS4-HMAC-SHA256,也称为签名版本 4(“V4”)是 S3 支持的两种身份验证方案之一。

所有地区都支持 V4,但美国标准¹,许多(但不是所有)其他地区也支持其他较旧的方案,即签名版本 2(“V2”)。

根据 http://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html ...2014 年 1 月之后部署的新 S3 区域将仅支持 V4。

自从 Frankfurt 于 2014 年底推出以来,它不支持 V2,这就是此错误提示您正在使用的版本。

http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html解释了如何在各种 SDK 中启用 V4,假设您使用的是具有该功能的 SDK。

我推测某些旧版本的 SDK 可能不支持此选项,因此如果上述方法不起作用,您可能需要更新版本的 SDK。


¹US Standard 是基于 us-east-1 区域的 S3 区域部署的旧称。从最初写这个答案开始, "Amazon S3 renamed the US Standard Region to the US East (N. Virginia) Region to be consistent with AWS regional naming conventions."出于所有实际目的,这只是命名上的更改。

关于ruby - 不支持您提供的授权机制。请使用 AWS4-HMAC-SHA256,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26533245/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com