Программный доступ к Walrus (Java) с помощью AWS S3 SDK / JetS3t
Я искал способы получить доступ к Walrus (Eucalyptus), используя AWS SDK для Java. Я знаком с использованием AWS SDK для программного подключения к Amazon S3 с использованием моих учетных данных AWS. Однако когда я прогуглил Google, чтобы проверить, доступен ли Walrus с помощью AWS SDK, я узнал, что есть проблемы, и единственный выход - использовать вместо этого JetS3t.
Кто-нибудь играл с JetS3t и Walrus раньше?
Является ли JetS3t надежным решением?
Могу ли я отразить все, что я могу сделать в AWS SDK против S3, с JetS3t и Walrus?
Заранее спасибо.
3 ответа
Вы можете использовать тот же самый точный код для доступа к своему моржу, что и s3. Однако вам нужно будет указать jets3t на свой экземпляр walrus, включив в свою сборку правильно отредактированный файл jets3t.properties.
Я использовал 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);
Я знаю, что это старый вопрос, заданный давным-давно, но я хотел бы вкратце рассказать, что AWS JAVA SDK 1.4.0 работает с Walrus, если вы ищете пример кода, который объясняет, как мы могли бы использовать AWS JAVA SDK 1.4.0 против моржа, пожалуйста, смотрите
https://gist.github.com/jeevanullas/5351730
Это прекрасно работает против Eucalyptus 3.2.2 (текущий стабильный выпуск) и 3.3.0 (текущий выпуск для разработки)
Надеюсь, это было полезно.