我已经有了一段代码,可以使用检索桶中的对象,这是预期的结果。我想检索上传到对象存储桶中的文件的URL,当我使用这个URL时,它应该重定向到实际位置,而不需要任何凭据。我看到了预先验证的请求,但我再次需要创建一个请求。我不想再发送一个请求,并且希望在现有的GetObjectResponse.中获得suggestions> --谢谢,js
发布于 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
如果将桶配置为公共桶,则不需要身份验证。
正如您所提到的,预验证请求(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--时所需的主机名。
https://stackoverflow.com/questions/64682973
复制相似问题