我希望能够在cURL上创建一个Riak存储桶。我一直在网上搜索,似乎无法找到办法。我知道有很多方法可以轻松地与驱动程序一起使用,但需要能够使用cURL来处理我正在处理的Saas应用程序。
答案 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)
我还发现,如果您将新对象添加到非现有存储桶,它将动态创建该存储桶。
请记住,在向其添加密钥时会自动创建存储桶。没有必要明确地“创建”一个桶(更多关于桶和它们在页面下方的属性。)