通过cURL创建Riak存储桶

时间:2012-10-12 22:25:46

标签: http curl riak

我希望能够在cURL上创建一个Riak存储桶。我一直在网上搜索,似乎无法找到办法。我知道有很多方法可以轻松地与驱动程序一起使用,但需要能够使用cURL来处理我正在处理的Saas应用程序。

3 个答案:

答案 0 :(得分:7)

你会做一个PUT传递你想要的桶属性作为json对象,例如

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

docs有更完整的详细信息。

答案 1 :(得分:4)

另一件事 - 要记住的重要一点是,没有办法通过调用(通过CURL或客户端api)显式“创建”一个桶。

您只能通过上述调用创建自定义存储分区

原因是 - 存储桶只是键的前缀。 Riak系统中没有任何物体可以跟踪铲斗。某处没有文件,内存中没有变量,或类似的东西。这就是为什么简单的“列表桶”命令是如此昂贵:Riak字面上必须遍历集群中的每个密钥,并通过查看密钥前缀来组装桶列表。

作为实际对象存在的唯一事物是具有非默认设置的存储桶,即自定义存储桶。这就是上面的卷曲命令 - 它会跟踪Riak的一些非默认设置,以便在呼叫进入该存储桶时进行咨询。

无论如何,故事的寓意是:你不需要在正常的操作过程中创建桶。你可以开始写它们,它们将会产生(再次,在这种意义上,带有桶前缀的键将会出现,这意味着它们现在可以通过昂贵的“列表桶”调用来迭代)。 / p>

您只需要发出自定义存储区调用(并且,您也不希望这样做太多,因为对集群中创建的自定义存储桶数量有实际限制,大约9000左右)。

答案 2 :(得分:3)

我还发现,如果您将新对象添加到非现有存储桶,它将动态创建该存储桶。

  

请记住,在向其添加密钥时会自动创建存储桶。没有必要明确地“创建”一个桶(更多关于桶和它们在页面下方的属性。)

Bucket Properties and Operations