无法从Jclouds BlobStore,S3Client获取Url

时间:2015-07-20 14:02:15

标签: java blobstore jclouds

将blob存储在blobStore中后,它将返回Etag。但我希望URL访问inputStream,就像amazonS3Client.getUrl(bucketName,key); 在这里,我不想使用AmazonS3Client但使用Jcloud S3客户端或BlobStore。 有人这样做过吗? 或者在Scality中,我如何获得对象存储的URL?

由于 SR

1 个答案:

答案 0 :(得分:0)

您可以通过两种方式执行此操作,具体取决于您是否具有公共访问blob或是否要授予对私有访问blob的临时访问权限。对于前者:

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

对于后者:

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

后者提供了一个限时URI,可通过HTTP查询参数进行身份验证。