2016-03-22 17 views
2

Ich versuche, auf einen BLOB-Speicherdienst zuzugreifen, der über AWS S3 liegt. Es unterstützt AWS SDK und seine Signaturversion 2.AWS Java SDK manuell Signaturversion

Ich verwende code here, um auf diesen Dienst zuzugreifen.

Ist es möglich, die von AWS SDK erstellte Signaturversion der Anforderung manuell festzulegen?

Nach this page

AWS unterstützt derzeit zwei Signaturversionen: Signatur Version 2 und Unterschrift Version 4, die in diesem Abschnitt behandelt werden. Die meisten Dienste unterstützen Version 4, und wenn ein Dienst Version 4 unterstützt, empfehlen wir dringend, diese Version zu verwenden.

Ich kann nicht finden, wie Sie die Signaturversion manuell auf 2 oder 4 setzen.

Antwort

2

Vom Developer Guide S3 - Specifying Signature Version in Request Authentication:

Java SDK

die folgenden in Ihrem Code hinzufügen.

System.setProperty(SDKGlobalConfiguration.ENABLE_S3_SIGV4_SYSTEM_PROPERTY, "true");

Oder auf der Kommandozeile, geben Sie die folgenden.

-Dcom.amazonaws.services.s3.enableV4

Es sieht aus wie v2 der Standard in der AWS SDK vorher war, aber v4 ist nun der Standard in SDK v1.11.0 (May, 2016) starten.