目前我使用openstack4j将对象放入一个公共可读的容器中。上传工作正常(我可以通过拼接来获得对象的URL),但如果可能的话,我希望能够直接从库中获得上传对象的公共URL。
通过查看文档,我发现了ObjectLocation,但它只提供了对象的路径组件,而不是完整的URL。有没有什么方法可以让我使用openstack4j获取对象的完整URL?
我上传文件的代码是:
os.objectStorage.objects.put(containerName, objectName, Payloads.create(someFile))
字符串
注意:我实际上在scala中使用的是openstack4j,尽管这并不重要。
1条答案
按热度按时间qyswt5oh1#
如果你使用的是OpenStack 4j 3.0.X和Openstack Identity API v3,你可以使用下面的代码来获取object-storage(swift)端点url:
字符串
其中
os
是org.openstack4j.api.OSClient.OSClientV3
的instance。你应该寻找你的证书中提到的地区(在我的情况下是“达拉斯”)。一旦你有了这个端点的url,你就可以用它来为你的对象创建URL:
型
这将导致(仅作为示例,它不链接到实际对象):
型