
# 查询单个kv
#### 功能介绍
下载一个kv文档的全部内容，或者部分字段的内容。
#### URI
POST /v1/get-kv
表1Query参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                   |
|:---|:---|:---|:---|
| store_name | 否    | String | 仓名，全域唯一，不同租户的仓名不能相同。 - 格式：${prefix}-${region-code}-${account-id}，其中prefix为自定义前缀，region-code为kvs集群所在的区域代码，account-id为用户的账户id - 取值字符限制：\[a-z0-9-\]+ - 长度：\[16,52\] 说明： "-"不能出现在名字头部或尾部 |
#### 请求参数
表2请求Body参数 
| 参数          | 是否必选 | 参数类型     | 描述                                             |
|:---|:---|:---|:---|
| table_name  | 是    | String   | 表名，仓内唯一。 - 长度：\[3, 52\] - 取值字符限制：\[a-z0-9_-\]+ |
| primary_key | 是    | Document | 用户自定义的主键名及值。                                   |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数     | 参数类型     | 描述                                   |
|:---|:---|:---|
| kv_doc | Document | 对kv_doc有效。 说明： 内容字段：主键字段+投影字段或者全部字段。 |
   
**状态码：400**
表4响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 请求返回的错误码。  |
| error_msg  | String | 请求返回的错误信息。 |
   
#### 请求示例
下载一个kv，表名为test-table-1，仓名为test-store，设置分区键值为user1，排序键值为test-file-1。
```
POST https://test-store.{endpoint}/v1/get-kv
{
  "table_name" : "test-table-1",
  "primary_key" : {
    "owner" : "user-1",
    "filename" : "test-file-1"
  }
}
```
#### 响应示例
**状态码：200**
表示查询单个kv请求成功
```
{
  "kv_doc" : {
    "owner" : "user-1",
    "filename" : "test-file-1",
    "otherKey" : "otherValue"
  }
}
```
#### 状态码
| 状态码 | 描述           |
|:---|:---|
| 200 | 表示查询单个kv请求成功 |
| 400 | BadRequest   |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-kvs/ErrorCode.html)。
