簡體   English   中英

如何使用REST API列出OpenStack對象存儲區(Swift)的對象和(虛擬目錄)

[英]How to list objects and (virtual directorys) using the REST API for OpenStack Object Store(Swift)

我們將REST API用於OpenStack對象存儲(Swift)。 猜測OpenStack對象存儲中確實存在以下結構:

/containername/object1.txt
/containername/object2.txt
/containername/pseudo-directoryname/object3.txt
/containername/pseudo-directoryname/object4.txt

要從容器中獲取對象列表,我們可以使用帶有指定URL的HTTP GET請求。 到現在為止還挺好。 結果:

/object1
/object2.txt
/pseudo-directoryname/object3
/pseudo-directoryname/object4.txt

GET請求與定界符參數(“ URL + ABSOLUTEPATH?delimiter = /”)組合會從結果中剪切偽目錄。

/object1.txt
/object2.txt

我想要一個容器內所有對象的列表以及容器內的偽目錄。

有沒有一種解決方案可以在不獲取所有對象並在客戶端解析它們的情況下獲得以下結果?

 /object1.txt
 /object2.txt
 /pseudo-directoryname/

使用delimiter參數時,我沒有找到有關通配符的任何信息。 類似於“ URL + ABSOLUTEPATH?delimiter = / * /”。

我只是想解決同樣的問題。 在文檔中找到了答案: http : //docs.openstack.org/user-guide/cli_swift_pseudo_hierarchical_folders_directories.html#list-pseudo-hierarchical-folders-request-http

使用其示例(請注意prefixdelimiter查詢字符串參數):

$ curl -X GET -i -H "X-Auth-Token: $token" $publicurl/v1/AccountString/backups?prefix=photos/&delimiter=/

將返回:

photos/animals/
photos/me.jpg
photos/plants/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM