#amazon-s3 #amazon-web-services #eucalyptus #walrus
#amazon-s3 #amazon-веб-сервисы #эвкалипт #walrus
Вопрос:
Я искал способы получить доступ к Walrus (Eucalyptus) с помощью AWS SDK для Java. Я знаком с использованием AWS SDK для программного подключения к Amazon S3 с использованием моих учетных данных AWS. Однако, когда я погуглил, чтобы проверить, доступен ли Walrus с помощью AWS SDK, я узнал, что есть проблемы, и единственный выход — использовать JetS3t вместо этого.
Кто-нибудь раньше играл с JetS3t и Walrus?
Является ли JetS3t надежным решением?
Могу ли я отразить все, что я могу сделать в AWS SDK, против S3 с помощью JetS3t и Walrus?
Заранее спасибо.
Ответ №1:
Вы можете использовать тот же точный код для доступа к вашему walrus, что и к s3. Однако вам необходимо указать jets3t на ваш экземпляр walrus, включив в свою сборку правильно отредактированный файл jets3t.properties.
Ответ №2:
Я знаю, что это старый вопрос, заданный давно, но просто хотел быстро сообщить, что AWS JAVA SDK 1.4.0 работает с Walrus, если вы ищете пример кода, объясняющий, как мы могли бы использовать AWS JAVA SDK 1.4.0 против Walrus, пожалуйста, посмотрите
https://gist.github.com/jeevanullas/5351730#file-walrustest-java
Это отлично работает с Eucalyptus 3.2.2 (текущая стабильная версия) и 3.3.0 (текущая версия для разработки)
Надеюсь, это было полезно.
Ответ №3:
Я использовал AWS SDK, и он прекрасно работал для меня. Вот пример кода, который я написал для загрузки файла на моем локальном диске в Walrus. Надеюсь, вы найдете это полезным.
AmazonS3 s3 = new AmazonS3Client(new AWSCredentials() {
@Override
public String getAWSSecretKey() {
return "G0WewmHyE5KYaGcVWvSAQrsBsPnJb2qQOPIIc74h";
}
@Override
public String getAWSAccessKeyId() {
return "4OFCOBFGPGVINNR7H6TMG";
}
});
s3.setEndpoint("http://10.14.99.97:8773/services/Walrus/");
byte[] bytes = convertToByteArray("/home/harshit/Desktop/poster.jpg"); // function written by me for extracting byte stream out of a local file
ByteArrayInputStream is = new ByteArrayInputStream(bytes);
PutObjectRequest request = new PutObjectRequest("skg", "foo.jpg", is, metaData);
s3.putObject(request);