文档首页 > > 用户指南> 数据源管理>

上传实时数据

上传实时数据

分享
更新时间:2021/05/11 GMT+08:00

RES通过DIS SDK上传实时数据用户实时日数据并做近线处理。本章节以Java为例进行说明,如需要更多语言示例请参见《数据接入服务SDK参考》

前提条件

  • 如果需要使用近线上传实时数据的用户,可以使用DIS SDK接口上传,请您按照需求下载DIS SDK
  • 子账户无法使用SDK上传数据,需要主账号授权子账号DIS USER权限。详细请参考权限管理

上传实时数据至RES

  1. 初始化DIS客户端,使用代码初始化DIS SDK客户端实例,代码样例如下。具体方式请参见初始化DIS客户端
    1
    2
    3
    4
    5
    6
    7
    8
    // 创建DIS客户端实例
    DIS dic = DISClientBuilder.standard()
    	.withEndpoint("YOUR_ENDPOINT")
    	.withAk("YOUR_AK")
    	.withSk("YOUR_SK")
    	.withProjectId("YOUR_PROJECT_ID")
    	.withRegion("YOUR_REGION")
    	.build();
    

    其中,各参数说明如下:

  2. 获取需要上传通道的ID(streamId)。
    • 单击近线数据源的“详情”
      图1 获取通道ID
  3. 上传实时数据,示例代码如下,其中,“streamId”的配置值要与步骤2“通道ID”的值一致。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    // 配置通道ID
    String streamId = "xxxx";
    // 配置上传的数据
    String message = "hello world.";
    PutRecordsRequest putRecordsRequest = new PutRecordsRequest();
    putRecordsRequest.setStreamId(streamId);
    List < PutRecordsRequestEntry > putRecordsRequestEntryList = new ArrayList < PutRecordsRequestEntry > ();
    ByteBuffer buffer = ByteBuffer.wrap(message.getBytes());
    for (int i = 0; i < 3; i++) {
    	PutRecordsRequestEntry putRecordsRequestEntry = new PutRecordsRequestEntry();
    	putRecordsRequestEntry.setData(buffer);
    	putRecordsRequestEntry.setPartitionKey(String.valueOf(ThreadLocalRandom.current().nextInt(1000000)));
    	putRecordsRequestEntryList.add(putRecordsRequestEntry);
    }
    putRecordsRequest.setRecords(putRecordsRequestEntryList);
    
    LOGGER.info("========== BEGIN PUT ============");
    
    PutRecordsResult putRecordsResult = null;
    try {
    	putRecordsResult = dic.putRecords(putRecordsRequest);
    } catch (DISClientException e) {
    	LOGGER.error("Failed to get a normal response, please check params and retry. Error message [{}]",
    		e.getMessage(),
    		e);
    } catch (Exception e) {
    	LOGGER.error(e.getMessage(), e);
    }
    
分享:

    相关文档

    相关产品

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

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

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

字符长度不能超过200

提交反馈 取消

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

智能客服提问云社区提问