按照文档的步骤
http://docs.openstack.org/developer/swift/overview_large_objects.html
我成功放了3段文件和1个清单文件
# First, upload the segments curl -X PUT -H 'X-Auth-Token: ' \ http:///container/myobject/1 --data-binary 'data1' curl -X PUT -H 'X-Auth-Token: ' \ http:///container/myobject/2 --data-binary 'data2' curl -X PUT -H 'X-Auth-Token: ' \ http:///container/myobject/3 --data-binary 'data3' # Next, create the manifest file curl -X PUT -H 'X-Auth-Token: ' \ -H 'X-Object-Manifest: container/myobject/' \ http:///container/myobject --data-binary ''
当我下载对象没有问题时,下载对象
curl -H 'X-Auth-Token: ' http:///container/myobject
但是当我想删除该对象时,它只删除了清单文件,所有的段文件仍然存在于云端。
curl X DELETE -H 'X-Auth-Token: ' http:///container/myobject
如何删除清单文件和段文件的对象? 我想将API用作SWIFT工具。
答案 0 :(得分:2)
您需要单独删除段,方法与删除清单文件的方式相同。
请记住,无法原子地删除动态大对象。即使您首先删除清单文件,API使用的弱一致性模型也不需要按照发送顺序向用户显示两个删除操作的效果(例如,在将来的Get Object调用中)。
答案 1 :(得分:1)
swift CLI工具删除所有段对象的完整列表以及在API请求中没有任何内容的情况下创建的动态大对象。
swift delete container_name dynamic_object_name
但是使用API它只会删除大对象文件而不会删除关联的段对象。
如果您打算使用API删除细分对象,静态大对象文件是一个更好的选择。