首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用oci-java-sdk获取桶或对象的URL。

使用oci-java-sdk获取桶或对象的URL。
EN

Stack Overflow用户
提问于 2020-11-04 15:29:37
回答 1查看 2K关注 0票数 3

我已经有了一段代码,可以使用检索桶中的对象,这是预期的结果。我想检索上传到对象存储桶中的文件的URL,当我使用这个URL时,它应该重定向到实际位置,而不需要任何凭据。我看到了预先验证的请求,但我再次需要创建一个请求。我不想再发送一个请求,并且希望在现有的GetObjectResponse.中获得suggestions> --谢谢,js

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-04 18:45:54

对象的URL不是从API返回的,而是可以使用您知道的信息构建的(,请参阅下面的更新!)。其模式是:

https://{api_endpoint}/n/{namespace_name}/b/{bucket_name}/o/{object_name}

访问该URL (通常见下文)将需要身份验证。我们的身份验证机制被描述在:

https://docs.cloud.oracle.com/en-us/iaas/Content/API/Concepts/signingrequests.htm

如果将桶配置为公共桶,则不需要身份验证。

https://docs.cloud.oracle.com/en-us/iaas/Content/Object/Tasks/managingbuckets.htm?TocPath=Services%7CObject%20Storage%7C_____2#publicbuckets

正如您所提到的,预验证请求(PARs)是一个选项。它们通常在这种情况下使用,而且效果很好。

https://docs.cloud.oracle.com/en-us/iaas/Content/Object/Tasks/usingpreauthenticatedrequests.htm

严格地说,也可以使用我们的亚马逊S3兼容的API.

https://docs.cloud.oracle.com/en-us/iaas/Content/Object/Tasks/s3compatibleapi.htm

...and S3的预先签名的URL将生成一个无需附加身份验证的URL。

https://docs.aws.amazon.com/AmazonS3/latest/dev/ShareObjectPreSignedURL.html

更新:一位队友指出,OCI现在包括一个getEndpoint方法,用于获取查询对象存储API. https://docs.cloud.oracle.com/en-us/iaas/tools/java/1.25.3/com/oracle/bmc/objectstorage/ObjectStorage.html#getEndpoint--时所需的主机名。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64682973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档