文档首页 > > SDK参考> 使用SDK> 使用SDK(C#)> 上传流式数据

上传流式数据

分享
更新时间: 2019/05/07 GMT+08:00

样例代码

参考初始化DIS客户端的操作初始化一个DIS客户端实例。使用客户端实例将用户的流式数据通过DIS通道上传至DIS服务。

//初始化客户端
var dic = new DISIngestionClient();  
// 配置通道名称,已存在的通道。
 String streamName = "streamName"; 
PutRecordsRequest putRecordsRequest = new PutRecordsRequest();
putRecordsRequest.StreamName = streamName;
 // 配置上传的数据
 var putRecordsRequestEntries = new List<PutRecordsRequestEntry>();
string shardId = "shardId-0000000000";
for (int i = 0; i < 3; i++)
{
string a = shardId + i;
var putRecordsRequestEntry = new PutRecordsRequestEntry
{
   //需要上传的数据。上传的数据为序列化之后的二进制数据(序列化后是Base64编码格式)
Data = Encoding.UTF8.GetBytes(a),
//用于明确数据需要写入分区的哈希值
ExplicitHashKey = "123",
//数据将写入的分区
PartitionKey = 1
};
putRecordsRequestEntries.Add(putRecordsRequestEntry);
}
putRecordsRequest.Records = putRecordsRequestEntries;
PutRecordsResult response = dic.PutRecords(putRecordsRequest);

foreach (var item in response.Records)
{
Console.WriteLine(item);
}

运行结果

执行ctrl+F5,可以在控制台查看到类似如下信息:

PutRecordsResultEntry [shardId=shardId-0000000000, sequenceNumber=0, errorCode=,
 errorMessage=]
PutRecordsResultEntry [shardId=shardId-0000000000, sequenceNumber=1, errorCode=,
 errorMessage=]
PutRecordsResultEntry [shardId=shardId-0000000000, sequenceNumber=2, errorCode=,
 errorMessage=]
表1 PutRecordsResult响应参数说明

参数名

类型

说明

failed_record_count

Int

上传失败的数据数量。

records

List<PutRecordsResultEntry>

List record,record为对象结构体。

PutRecordsResultEntry参数说明

errorCode

String

错误码。

errorMessage

String

错误消息。

shardId

String

分区ID。

sequenceNumber

String

序列号。序列号是每个记录的唯一标识符。

序列号由DIS在数据生产者调用PutRecords操作以添加数据到DIS数据通道时DIS服务自动分配的。同一分区键的序列号通常会随时间变化增加。PutRecords请求之间的时间段越长,序列号越大。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问