Невозможно получить 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-запроса.