如何使用API在Openstack swift中删除动态大对象

如何使用API在Openstack swift中删除动态大对象,openstack,openstack-swift,Openstack,Openstack Swift,按照文档的步骤操作 我成功地放置了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

按照文档的步骤操作

我成功地放置了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-X PUT-H'X-Auth-Token:'\ http:///container/myobject/1 --数据二进制'data1' curl-X PUT-H'X-Auth-Token:'\ http:///container/myobject/2 --数据二进制'data2' curl-X PUT-H'X-Auth-Token:'\ http:///container/myobject/3 --数据二进制'data3' #接下来,创建清单文件 curl-X PUT-H'X-Auth-Token:'\ -H'X-Object-Manifest:container/myobject/'\ http:///container/myobject --数据二进制'' 当我下载对象时没有问题,对象被下载了

curl -H 'X-Auth-Token: ' http:///container/myobject curl-H'X-Auth-Token:'http:///container/myobject 但是当我想删除对象时,它只删除清单文件,所有的段文件仍然存在于云上

curl X DELETE -H 'X-Auth-Token: ' http:///container/myobject curl X DELETE-H'X-Auth-Token:'http:///container/myobject 如何从清单文件和段文件中删除对象?
我想在SWIFT工具中使用API。

您需要以删除清单文件的相同方式单独删除段


请记住,没有办法以原子方式删除动态大对象。即使先删除清单文件,API使用的弱一致性模型也不要求用户看到两个删除操作的效果(例如,在将来的Get Object调用中)按照发送顺序。

swift CLI工具删除所有段对象和动态大对象的完整列表,该对象在API请求中没有任何内容

swift delete container_name dynamic_object_name
但使用API的,它只删除大对象文件,而不删除相关的段对象

如果您计划使用API删除段对象,则可以选择静态大对象文件

参考:
,