Tera原生的SDK是C++实现,考虑到部分用户受语言所限,我们也提供了一套HTTP的接口。

生成tera的http代理

  1. make terahttp

运行http代理

  1. ./terahttp --flagfile=/path/to/flag

http代理需要和普通tera客户端一样的配置文件。

通过HTTP访问tera

请求需以json格式组织,例如:(POST方法)

请求的具体形式可以参考sofa-pbrpc的HTTP支持

demo-0 curl

  1. curl -d '
  2. {
  3. "tablename": "oops", // 表名
  4. "mutation_list": [ // 支持批量修改(写入)
  5. { // 每条记录的修改(写入)作为"mutation_list"数组的一个item
  6. "rowkey": "row35", // 这条记录的rowkey
  7. "type": "put", // 操作类型:put表示更新(写入),del-col表删除一列,del-row表删除一行
  8. "columns": [ // 待修改(写入)的列
  9. {
  10. "columnfamily": "cf0", // 列名中columnfamily字段
  11. "qualifier": "qu0", // 列名中qualifier字段
  12. "value": "value35" // 这一列对应的值
  13. },
  14. { // 待修改(写入)的另外一列
  15. "columnfamily": "cf0",
  16. "qualifier": "qu1",
  17. "value": "value35.2"
  18. }
  19. ]
  20. },
  21. { // 修改(写入)另外一行
  22. "rowkey": "row36",
  23. "type": "put",
  24. "columns": [
  25. {
  26. "columnfamily": "cf0",
  27. "qualifier": "qu0",
  28. "value": "value36"
  29. },
  30. {
  31. "columnfamily": "cf0",
  32. "qualifier": "qu1",
  33. "value": "value36.2"
  34. }
  35. ]
  36. }
  37. ]
  38. }
  39. ' http://localhost:12321/tera.http.HttpProxy.Get

demo-1 python

http_sample.py演示了用grequest模块异步POST读写。

安装grequests模块可能需要自行解决数个依赖模块。