实例化 s3 服务对象后,在公共和私有签名 url 之间交换的最佳方法是什么

问题描述

我正在使用 ibm-cos-sdk 并且大部分使用私有端点,因为我们的应用程序在 IKS 中运行,我们可以通过该私有端点访问 COS(在文档中推荐)。

但对于某些 API,我们需要返回一个使用公共端点的预签名 getobject URL 到存储桶,以便外部用户可以实际使用链接下载文件。我们的应用程序使用单个全局 S3 对象实例,该实例现在总是使用私有端点(我们也只有一个存储桶)。

我们想知道是否有办法覆盖每个 getobject 调用的端点(就像使用 Bucket 参数一样)。我唯一能看到的是在调用 getSignedUrl('getobject') 之前暂时改变 S3.endpoint.hostname https://ibm.github.io/ibm-cos-sdk-js/AWS/Endpoint.html#hostname-property 属性并在完成后重置它 - 这非常hacky 但我没有看到除了完全复制之外的另一种方式S3 对象,其中一个配置为私有,一个配置为公共。

有什么想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...