上传数据
功能介绍
本接口用于上传数据到DIS通道中。
URI
POST /v2/{project_id}/records
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
stream_name |
是 |
String |
已创建的通道名称。 最大长度:60 |
stream_id |
否 |
String |
通道唯一标识符。 当使用stream_name没有找到对应通道且stream_id不为空时,会使用stream_id去查找通道。 说明: 上传数据到被授权的通道时,必须配置此参数。 |
records |
是 |
Array of PutRecordsRequestEntry objects |
待上传的记录列表。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
data |
是 |
String |
需要上传的数据。 上传的数据为序列化之后的二进制数据(Base64编码后的字符串)。 比如需要上传字符串“data”,“data”经过Base64编码之后是“ZGF0YQ==”。 |
explicit_hash_key |
否 |
String |
用于明确数据需要写入分区的哈希值,此哈希值将覆盖“partition_key”的哈希值。 取值范围:0~long.max |
partition_id |
否 |
String |
通道的分区标识符。 可定义为如下两种样式:
比如一个通道有三个分区,那么分区标识符分别为0, 1, 2,或者shardId-0000000000, shardId-0000000001, shardId-0000000002 |
partition_key |
否 |
String |
数据将写入的分区。 说明: 如果传了partition_id参数,则优先使用partition_id参数。如果partition_id没有传,则使用partition_key。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
failed_record_count |
Integer |
上传失败的数据数量。 |
records |
Array of PutRecordsResultEntry objects |
上传结果列表。 |
请求示例
上传数据
POST https://{Endpoint}/v2/{project_id}/records { "stream_name" : "newstream", "records" : [ { "data" : "MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTE=" } ] }
响应示例
无
状态码
状态码 |
描述 |
---|---|
200 |
正常返回 |
错误码
请参见错误码。