云服务器内容精选

  • 请求示例 更新单个kv,设置表名为test-table-1,设置更新的kv分区键值为user1,排序键为test-file-1,设置更新的鑫数据为非结构化数据。 POST https://{endpoint}/v1/update-kv { "table_name" : "test_table_1", "primary_key" : { "owner" : "user_1", "filename" : "test_file_1" }, "update_blob" : { "xattr" : "new_binary_xattr_data", "offset" : 10, "len" : 1024, "blob_data" : "new_binary_blob_data" } }
  • 响应示例 状态码: 200 表示更新单个kv请求成功 { "kv_blob_data" : { "primary_key" : { "owner" : "user_1", "filename" : "test_file_1" }, "total_bytes" : 1048, "offset" : 10, "len" : 1024, "blob_data" : "new_binary_blob_data", "xattr" : "new_binary_xattr_data" } }
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 table_name 是 String 表名,仓内唯一。 长度:[3, 63] 取值字符限制:[a-z0-9_-]+ primary_key 是 Document 用户自定义的主键名及值。 说明: 内容字段:主键字段名和值,组合索引多个元素。 condition_expression 否 condition_expression object 条件表达式,参见conditional小节,禁止携带主键字段。 kv_options 否 kv_options object 选项字段。 true:返回操作执行前的内容。 false:返回操作执行后的内容。 update_fields 否 update_fields object 对kv_doc有效。 projection_fields 否 Array of strings 对kv_doc有效,返回哪些字段列表,默认全部。 说明: 字段名或嵌套字段路径用'/'分割 ,e_name为下标。 update_blob 否 update_blob object 对kv_blob有效,修改局部数据。 projection_blob 否 projection_blob object 对kv_blob有效,返回局部数据。 表3 condition_expression 参数 是否必选 参数类型 描述 single_field_expression 否 single_field_expression object 单字段条件。 multi_field_expression 否 multi_field_expression object 多字段条件,多个相同优先级的单字段条件。 single_kv_expression 否 single_kv_expression object 文档表达式。 composed_expression 否 composed_expression object 组合条件, 逐层同级的子表达式嵌套。 表4 composed_expression 参数 是否必选 参数类型 描述 logic 否 String 逻辑关系,取值如"$and", "$or", "$nor"。 expressions 是 Array of expression objects 多个相同优先级且相同逻辑的单字段或多字段条件。 表5 expression 参数 是否必选 参数类型 描述 single_kv_expression 否 single_kv_expression object 单KV条件。 single_field_expression 否 single_field_expression object 单字段条件。 multi_field_expression 否 multi_field_expression object 多字段条件。 表6 single_kv_expression 参数 是否必选 参数类型 描述 func 是 String 取值:"is_doc", "is_blob", "is_exist", "not_exist"。 表7 single_field_expression 参数 是否必选 参数类型 描述 field 是 String 条件字段。 func 是 String 条件函数,取值如"$gt", $lt","$gte", $lte" "$eq", "$ne", "$prefix", "$in","$nin", "$exists"。 value 否 Document value和value_array二选一。 value条件值,适用于除"$in", "$nin"外的func。 字段名无意义,可以传空,也可以传字段名。 $exists值为true/false。 说明: $prefix操作只适用于string和binary类型。 value_array 否 Array of strings "value"和"value_array"二选一。 "value_array" 条件值列表, 值用于"$in", "$nin"。 表8 multi_field_expression 参数 是否必选 参数类型 描述 logic 否 String 多字段条件,多个相同优先级的单字段条件。 expressions 是 Array of single_field_expression objects 多个相同逻辑操作的单字段条件。 表9 kv_options 参数 是否必选 参数类型 描述 return_hint 否 Boolean true:返回操作执行前的内容,默认true。 false:返回操作执行后的内容。 表10 update_fields 参数 是否必选 参数类型 描述 set 否 Document 新增字段或覆盖某字段的值1个或多个字段。 说明: 禁止修改sortkey的字段。 add 否 Document 对某个字段做加法运算,并更新为运算后的值1个或多个字段。 rmv 否 Array of strings 删除1个或多个字段。 数组元素为待删除字段名。 表11 update_blob 参数 是否必选 参数类型 描述 xattr 否 String 属性信息。 offset 否 Integer value部分的偏移位置。 说明: 超过value当前size无效 "offset"与"len"与"blob_data" 要么都带,要么都不带。 len 否 Integer 更新内容长度。 blob_data 否 String 二进制内容。 表12 projection_blob 参数 是否必选 参数类型 描述 with_attr 否 Boolean 是否返回kv_blob的属性信息, 默认返回。 offset 否 Integer value部分的偏移位置,超过实际size不返回,默认0。 len 否 Integer 数据长度,默认offset后全部数据。