我不是一個Java傢伙,但根據this它看起來像元數據需要在您的容器上設置,密鑰爲X-Container-Meta-Access-Control-Allow-Origin
,以及空格分隔的允許源列表的值。
因此,您需要使用任何函數來設置jclouds API的容器元數據。
看來,這可能在創建時完成,像這樣(基於this code適應):
CreateContainerOptions options = CreateContainerOptions.Builder
.withMetadata(ImmutableMap.of("Access-Control-Allow-Origin", "*"));
swift.getApi().createContainer(Constants.CONTAINER, options);
通過文檔看,我發現下面的功能org.jclouds.openstack.swift.CommonSwiftClient :
boolean setContainerMetadata(String container, Map<String,String> containerMetadata)
因此,它看起來像你應該能夠做到你在找什麼東西像下面這樣:
swift.getApi().setContainerMetadata(container, ImmutableMap.of("Access-Control-Allow-Origin", "*"));
很好的答案。我做了一個編輯(等待同行評審)來刪除「X-Container-Meta-」。 jclouds會爲你添加這個,所以包含它會導致該示例不起作用。除此之外,它是現貨。 – 2013-05-03 18:14:55