首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不支持您提供的授权机制。请使用AWS4-HMAC-SHA256

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

Stack Overflow用户
提问于 2014-10-24 00:52:02
回答 18查看 132.1K关注 0票数 157

尝试将文件上传到新法兰克福地区的S3存储桶时,出现AWS::S3::Errors::InvalidRequest The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.错误。所有这些在US Standard区域中都可以正常工作。

脚本:

代码语言:javascript
运行
复制
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)

如何修复它?

谢谢。

EN

回答 18

Stack Overflow用户

发布于 2015-07-26 19:10:04

使用node,尝试

代码语言:javascript
运行
复制
var s3 = new AWS.S3( {
    endpoint: 's3-eu-central-1.amazonaws.com',
    signatureVersion: 'v4',
    region: 'eu-central-1'
} );
票数 80
EN

Stack Overflow用户

发布于 2015-03-24 21:28:41

您应该在config中设置signatureVersion: 'v4'以使用新的sign版本:

代码语言:javascript
运行
复制
AWS.config.update({
    signatureVersion: 'v4'
});

适用于JS sdk。

票数 38
EN

Stack Overflow用户

发布于 2016-12-22 15:06:09

对于使用boto3 (Python SDK)的用户,请使用以下代码

代码语言:javascript
运行
复制
from botocore.client import Config


s3 = boto3.resource(
    's3',
    aws_access_key_id='xxxxxx',
    aws_secret_access_key='xxxxxx',
    config=Config(signature_version='s3v4')
)
票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26533245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档