无法使用OpenStack Swift Object设置多个Meta数据

时间:2014-10-10 17:36:26

标签: metadata openstack-swift

我正在尝试使用存储在Swift Container中的Object设置元数据。我正在使用以下命令(请注意,我的容器是'container1',对象是'employee.json':

curl -X POST -H "X-Auth-Token:$TOKEN" -H 'X-Object-Meta-metadata1: value' $STORAGE_URL/container1/employee.json

一个元数据可以正常工作。但无论何时,我试图设置多个元数据发出几个curl命令,实际上只设置了最后一个元数据值。

我认为,不应该只为swift对象设置一个元数据。我做错了吗?

仅供参考:我正在使用哈瓦那发布的Openstack Swift。

谢谢。

1 个答案:

答案 0 :(得分:4)

我想,我已经弄清楚了......我的不好意思是我没有真诚地阅读文档。

它[1]说,“POST请求将删除使用先前的PUT / POST添加的所有现有元数据。”

所以,我试过这个并且它有效......

curl -X POST -H "X-Auth-Token:$TOKEN" -H 'X-Object-Meta-p1:[P1]'  -H 'X-Object-Meta-p2:[P1]' $STORAGE_URL/container1/employee.json

现在,我在一个POST请求中设置了多个元数据,而不是两个POST请求。

再次,谢谢。

价:

  1. http://docs.openstack.org/api/openstack-object-storage/1.0/content/update-object-metadata.html