2

ドキュメントの手順に従ってください

http://docs.openstack.org/developer/swift/overview_large_objects.html

3つのセグメントファイルと1つのマニフェストファイルを正常に配置しました

# まず、セグメントをアップロードします
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'

# 次に、マニフェスト ファイルを作成します
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

マニフェスト ファイルとセグメント ファイルの両方のオブジェクトを削除するにはどうすればよいですか? SWIFT ツールの API を使用したい。

4

2 に答える 2

2

マニフェスト ファイルを削除するのと同じ方法で、セグメントを個別に削除する必要があります。

動的なラージ オブジェクトをアトミックに削除する方法はないことに注意してください。最初にマニフェスト ファイルを削除した場合でも、API で使用される弱い一貫性モデルでは、2 つの削除操作の効果が送信された順序でユーザーに表示される必要はありません (たとえば、将来の Get Object 呼び出し)。

于 2013-09-17T12:54:56.703 に答える