2012-10-12 119 views
4

我希望能夠通過cURL創建一個Riak存儲桶。我一直在網上搜索,似乎找不到辦法。我知道有很多方法可以很容易地與驅動程序一起完成,但需要使用cURL爲我正在開發的Saas應用程序完成。在cURL上創建Riak存儲桶

回答

3

的另一件事(進一步的水桶和它們的屬性頁面的底部。) - 需要記住的重要一點是,沒有通過調用(通過CURL或客戶端API)顯式「創建」存儲桶的方式。

您只能通過上面的調用創建定製桶

原因是 - 桶只是一個鍵的前綴。在Riak系統中沒有任何地方跟蹤桶。沒有文件在某處,內存中沒有變量,或類似的東西。這就是爲什麼簡單的「list bucket」命令非常昂貴:Riak從字面上必須遍歷集羣中的每個關鍵字,並通過查看關鍵字前綴來組裝一個存儲桶列表。

作爲實際對象存在的唯一事物是具有非默認設置的存儲桶,即自定義存儲桶。這就是上面那個curl命令的作用 - 它跟蹤Riak的一些非默認設置,以便在有人打來電話時諮詢。

無論如何,故事的寓意是:你不需要在正常的操作過程中創建桶。你可以開始寫信給它們,它們就會形成(再次,就是帶有桶前綴的鍵將會產生,這意味着它們現在可以被昂貴的'列表桶'調用)迭代。

您只需發出定製桶的調用(並且您也不想那麼做,因爲實際上限制了在羣集中創建的定製桶的數量,在某處9000)。

6

你會做一個PUT,將你想要的桶屬性作爲一個json對象傳遞,

curl -v http://riak3.local:8098/riak/newBucket -X PUT -H Content-Type:application/json --data-binary '{"props":{"n_val":5}}' 

docs有更完整的細節。

2

我還發現,如果您將一個新對象添加到一個不存在的存儲桶中,它將即時創建該存儲桶。

請記住,當您向其添加密鑰時,會自動創建存儲桶。有沒有必要明確地「創造」一個水桶

Bucket Properties and Operations