Es wurden einige Themen gefunden, die den gleichen Fehler in Stackoverlfow behandelten, aber die Szenarien stimmen nicht mit meinen überein. Verfügen Sie über ein AWS-S3-Java-Client-Programm, das beim Hochladen von Dateien in einen S3-Bucket unter Windows einwandfrei läuft. Versuchen Sie nun, dasselbe Programm auf einem Linux-Server (Ubuntu) auszuführen, und erhalten Sie diesen Fehler
com.amazonaws.services.s3.model.AmazonS3Exception: Der Autorisierungsheader ist fehlerhaft; die Region „us-east-1“ ist falsch; erwartet „eu-west-2“ (Dienst: Amazon S3; Statuscode: 400; Fehlercode: AuthorizationHeaderMalformed; Anforderungs-ID:
Ich habe die .aws\credentials-Datei von meinem Windows-Laptop hochgeladen Ich habe keine Änderungen am Verzeichnis ~/.aws/ auf dem Server vorgenommen. Ich habe nach einer Gegenprüfung mit IAM auf AWS bestätigt />Hier ist der Code (ja, er ist fest codiert), der die Region festlegt
AmazonS3 s3Client;
private static final byte[] BUFFER = new byte[4096 * 1024];
Code: Select all
public FileUpload() {
s3Client = AmazonS3ClientBuilder.standard().withRegion("us-east-1").build();
}
Ich habe den Bucket manuell in der AWS-Konsole erstellt und er befindet sich in der Region us-east-1.
Benötige ich eine Konfigurationsdatei unter ~ /.aws ? Ich habe keines
auf dem Windows-Laptop
Es wurden einige Themen gefunden, die den gleichen Fehler in Stackoverlfow behandelten, aber die Szenarien stimmen nicht mit meinen überein. Verfügen Sie über ein AWS-S3-Java-Client-Programm, das beim Hochladen von Dateien in einen S3-Bucket unter Windows einwandfrei läuft. Versuchen Sie nun, dasselbe Programm auf einem Linux-Server (Ubuntu) auszuführen, und erhalten Sie diesen Fehler
com.amazonaws.services.s3.model.AmazonS3Exception: Der Autorisierungsheader ist fehlerhaft; die Region „us-east-1“ ist falsch; erwartet „eu-west-2“ (Dienst: Amazon S3; Statuscode: 400; Fehlercode: AuthorizationHeaderMalformed; Anforderungs-ID:
Ich habe die .aws\credentials-Datei von meinem Windows-Laptop hochgeladen Ich habe keine Änderungen am Verzeichnis ~/.aws/ auf dem Server vorgenommen. Ich habe nach einer Gegenprüfung mit IAM auf AWS bestätigt />Hier ist der Code (ja, er ist fest codiert), der die Region festlegt
AmazonS3 s3Client;
private static final byte[] BUFFER = new byte[4096 * 1024];[code]public FileUpload() {
s3Client = AmazonS3ClientBuilder.standard().withRegion("us-east-1").build();
}
[/code]
Ich habe den Bucket manuell in der AWS-Konsole erstellt und er befindet sich in der Region us-east-1.
Benötige ich eine Konfigurationsdatei unter ~ /.aws ? Ich habe keines
auf dem Windows-Laptop