Der Autorisierungs-Mechanismus, die Sie angegeben haben, nicht unterstützt. Bitte verwenden Sie AWS4-HMAC-SHA256
Bekomme ich eine Fehlermeldung AWS::S3::Errors::InvalidRequest The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.
wenn ich versuche, eine Datei hochladen, um S3-bucket, in der neuen region Frankfurt. Alles funktioniert einwandfrei mit US Standard
region.
Skript:
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)
Wie es zu lösen ist?
Danke.
Diese Antwort mein problem gelöst: stackoverflow.com/questions/34483795/...
InformationsquelleAutor Alexey | 2014-10-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
AWS4-HMAC-SHA256, auch bekannt als Signatur, Version 4, ("V4") ist eine von zwei authentifizierungsarten unterstützt von S3.
Allen Regionen zu unterstützen, V4, aber UNS-Standard1, und vielen-aber nicht allen-anderen Regionen unterstützen auch die anderen, älteren Schema, Unterschrift Version 2 ("V2").
Laut http://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html ... neue S3-Regionen bereitgestellt, die nach Januar, 2014 wird nur support V4.
Seit Frankfurt wurde eingeführt spät im Jahr 2014, es unterstützt nicht die V2, die ist, was dieser Fehler deutet Sie verwenden.
http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html erklärt, wie Sie zu aktivieren V4 in den verschiedenen SDKs, vorausgesetzt, Sie verwenden ein SDK, das über diese Funktionalität verfügt.
Ich würde spekulieren, dass einige ältere Versionen des SDKs möglicherweise nicht unterstützt diese option, so dass, wenn die oben nicht hilft, müssen Sie möglicherweise eine neuere Version des SDK, die Sie verwenden.
1
US Standard
ist der frühere name für den S3-regionale Bereitstellung ist in derus-east-1
region. Seit der Zeit dieser Antwort wurde ursprünglich geschrieben,die "Amazon S3 umbenannt, der US-Standard Region US East (N. Virginia) Region, um die Konsistenz mit AWS regionale Namenskonventionen." Für alle praktischen Zwecke, es ist nur eine änderung in der Namensgebung.
das scheint Recht. Es sieht aus wie die s3cmd Entwickler haben nicht
AWS4-HMAC-SHA256
noch umgesetzt: github.com/s3tools/s3cmd/issues/402sqlbot" nun, ich wechselte zu "awscli" für jetzt. Für eilige: yum install python-pip, pip installieren awscli; aws konfigurieren; aws --region=eu-central-1 s3-ls s3://$EIMER etc...
aws-sdk-v2 zu unterstützen scheint, AWS4-HMAC-SHA256 - "V4" - Authentifizierung nett (Verwandte Problem)
wenn Sie hinzufügen, die region, ist das problem gelöst
InformationsquelleAutor Michael - sqlbot
Mit Knoten, versuchen
InformationsquelleAutor morris4
Sollten Sie
signatureVersion: 'v4'
imconfig
Nutzung der neuen Schild-version:Werke für
JS
sdk.Danke .. für mich gearbeitet !
InformationsquelleAutor Denis Rizun
Für Menschen mit
boto3
(Python SDK
) verwenden Sie den code untenAuthorizationQueryParametersErrorError parsing the X-Amz-Credential parameter; the region 'us-east-1' is wrong; expecting 'us-east-2'us-east-2
Also ich haberegion_name='us-east-2'
zu den oben genannten codeInformationsquelleAutor Penkey Suresh
Ähnliches Problem mit der PHP-SDK, das funktioniert:
Der wichtige Teil ist die
signature
und dieregion
InformationsquelleAutor Pascal
Habe ich mit Django, und ich hatte, um diese zusätzlichen config-Variablen um diese Arbeit zu machen. (zusätzlich zu den Einstellungen erwähnt in https://simpleisbetterthancomplex.com/tutorial/2017/08/01/how-to-setup-amazon-s3-in-a-django-project.html).
InformationsquelleAutor SuperNova
In Java hatte ich, um eine Immobilie
hinzufügen und die region um die s3Client Instanz.
InformationsquelleAutor GameScripting
Für thumbor-aws, das verwendet boto config, die ich brauchte, um das
$AWS_CONFIG_FILE
Also alles, was verwendet boto direkt ohne Veränderungen, das kann nützlich sein,
InformationsquelleAutor higuita
Mit boto3, das ist der code :
und
InformationsquelleAutor Benoit
Für Android SDK, setEndpoint löst das problem, obwohl es schon veraltet.
InformationsquelleAutor Ian Darke
Irgendwann die Standard-version wird nicht aktualisiert. Dieser Befehl
in
settings.py
InformationsquelleAutor gokul krishna