get_bucket () gibt 'Bad Request' für S3-Buckets, die ich nicht über Boto erstellt habe

8

Ich verwende Boto, um zu versuchen, einen Bucket in Amazon S3 zu erhalten, aber es gibt eine Bad Request zurück, wenn ich get_bucket () für einige Buckets verwende. Ich beginne mich zu fragen, ob das ein Bug mit Boto ist, da ich den Bucket mit get_all_buckets () bekommen kann.

%Vor%

Dies scheint ein Problem zu sein, selbst wenn ich mich mit dem gleichen Benutzerkonto anmelde, in dem ich die Zugriffsberechtigungen verwende, und es in der AWS-Konsole erstellen.

Irgendeine Idee, warum das passieren könnte?

    
seddonym 29.01.2015, 11:15
quelle

5 Antworten

15

Stellt sich heraus, das Problem ist wegen der Region (ich war Frankfurt). Zwei Möglichkeiten, damit umzugehen:

  1. Geben Sie Frankfurt auf (@andpei weist darauf hin, dass Probleme damit aktuell gemeldet werden ) und Erstelle den Bucket in einer anderen Region neu.

  2. Geben Sie die Region beim Verbinden mit dem Parameter 'host' an (danke @Siddarth):

    %Vor%

    Sie können den entsprechenden Regionshost hier finden.

seddonym 29.01.2015, 14:29
quelle
2

Verwenden Sie connect to region, wenn Sie mit Buckets in verschiedenen Regionen arbeiten.

    
Siddarth 29.01.2015 18:32
quelle
1

Eine allgemeine und einfache Lösung, die keine Änderung der Region oder Einstellung eines bestimmten Hosts beinhaltet, finden Sie unter Ссылка . Nach einiger Bearbeitung:

  

Die Frankfurter AWS-Region (anscheinend auch Irland und CN) unterstützt nur   der V4-Signaturalgorithmus. (...)

     

In der Boto-Dokumentation können Sie entweder [s3] use-sigv4 = True hinzufügen   zu Ihrer ~/.boto -Datei oder legen Sie die os.environ -Liste zum Einschließen fest   S3_USE_SIG_V4: os.environ['S3_USE_SIGV4'] = 'True' .

    
EOL 01.04.2015 13:12
quelle
1

Fügen Sie einen s3-Bucket-Host einer Boto-Verbindung hinzu

conn = boto.connect_s3(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, host=AWS_HOST)

    
Naveen Agarwal 05.08.2016 08:06
quelle
0

Ich musste eine Kombination aus EOL und Seddonyms Antworten verwenden - zuerst habe ich angegeben, dass ich Sigv4 mit folgendem verwenden möchte:

%Vor%

Dann musste ich beim Verbinden mit dem Bucket den Host angeben, was etwas albern schien, aber hier geht es:

%Vor%

Beachten Sie, dass dies nur für Frankfurt

gilt     
Alex 14.10.2015 09:01
quelle

Tags und Links