2016-10-10 5 views
-1

Ich habe einen neuen Computer und ich versuche, meine AWS CLI-Umgebung einzurichten, damit ich eine Managementkonsole ausführen kann, die ich erstellt habe.Der Bucket kann nicht mit aws-sdk ruby ​​gem erstellt werden. Aws :: S3 :: Errors :: SignatureDoesNotMatch

Dies ist der Code, den ich laufen:

def create_bucket(bucket_args) 
    AWS_S3 = Aws::S3::Client.new(signature_version: 'v4') 
    AWS_S3.create_bucket(bucket_args) 
end 

Welche diesen Fehler auslöst:

Aws::S3::Errors::SignatureDoesNotMatch - The request signature we calculated does not match the signature you provided. Check your key and signing method.: 

Dies wurde richtig auf meinem anderen Computer arbeiten, die ich habe keinen Zugriff mehr auf. Ich erinnere mich, den gleichen Fehler auf dem anderen Computer zu debuggen, und ich dachte, dass ich es gelöst hatte, indem ich signature_version = s3v4 meiner ~/.aws/config Datei hinzufüge. Aber dieses Update funktioniert nicht auf meinem neuen Computer, und ich bin mir nicht sicher warum.

etwas mehr Kontext zu geben: Ich bin mit aws-sdk (2.5.5) und diesen aws cli Spezifikationen: aws-cli/1.11.2 Python/2.7.12 Linux/4.4.0-38-generic botocore/1.4.60

+0

In welcher AWS-Region möchten Sie sich verbünden? – koolhead17

+0

https://github.com/aws/aws-sdk-ruby#configuration – Skydan

+0

Uns Osten 1, und ja, ich habe yhat angeschaut –

Antwort

0

In diesem Fall ist das Problem war, dass meine aws Anmeldeinformationen (in ~/.aws/credentials) - mein Geheimnis Token speziell - waren ungültig.

Das Original hatte einen Schrägstrich drin:

xx/xxxxxxxxxxxxxxxxxxxxxxxxxx

, die ich zuerst nicht bemerkt, so dass, wenn ich das Token geklickt doppelt um das Wort auszuwählen, es enthält nicht die die ersten drei Zeichen Ich habe dann diese in das Terminal eingefügt, wenn ausgeführt wird.

Um dies zu beheben, habe ich das richtige, original geheime Access-Token gefunden und den korrekten Wert in ~/.aws/credentials gesetzt.

Verwandte Themen