Невозможно получить URL-адрес из Jclouds BlobStore, S3Client

После сохранения блоба в blobStore он возвращает Etag. Но я хочу, чтобы URL получал доступ к inputStream, так же как amazonS3Client.getUrl(bucketName, key); Здесь я не хочу использовать AmazonS3Client, но использую клиент Jcloud S3 или BlobStore. Кто-нибудь сделал это? или в Scality, как мне получить URL хранилища объектов?

Спасибо SR

1 ответ

Вы можете сделать это двумя способами, в зависимости от того, есть ли у вас открытый доступ к BLOB-объекту или вы хотите предоставить временный доступ к закрытому BLOB-объекту. Для первых:

URI publicUri = blobStoreContext.getBlobStore().blobMetadata(bucketName, key).getPublicUri();

Для последнего:

URI privateUri = blobStoreContext.getSigner().signGetBlob(bucketName, key).getEndpoint();

Последний предоставляет ограниченный по времени URI, который аутентифицируется через параметры HTTP-запроса.

Другие вопросы по тегам