文档首页 > > SDK参考> 使用SDK> 使用SDK(C#)> 创建通道

创建通道

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

参考初始化DIS客户端的操作初始化一个DIS客户端实例。

使用DIS SDK创建DIS通道,需要指定通道名称、通道的分片数量以及通道类型。

其中,普通通道为“COMMON”,高级通道为“ADVANCED”。

创建无转储任务的通道

// 通道名称 
string streamName = "XXX"; 
// 通道的分片数量 
int partitionCount = XXX; 
CreateStreamRequest request = new CreateStreamRequest
{
    // 通道名称 
     StreamName =streamName,
    //通道类型(COMMON、ADVANCED)
    StreamType = "XXX",
    //分区数量
    PartitionCount =partitionCount,
    //源数据类型(BLOB、JSON、CSV、FILE)
    DataType = "XXX",
    //数据保留时长。取值范围:N*24,N的取值为1~7的整数。
    DataDuration = 7 * 24,
};

配置“CreateStreamRequest”对象之后,通过调用createStream的方法创建通道。

ResponseResult response = dic.CreateStream(request);
Console.WriteLine(response);

运行结果

执行ctrl+F5,在控制台查看到类似如下信息,表示创建成功。

ResponseResult{status_code='201 Created', content='', errorCode='', message=''}
表1 ResponseResult响应参数说明

参数名

类型

说明

content

String

响应消息体

errorCode

String

错误码

message

String

错误响应消息体

status_code

String

状态码

创建具有OBS按周期转储任务的通道

// 通道名称 
string streamName = "XXX"; 
// 通道的分片数量 
int partitionCount = XXX; 
 var dic = new DISIngestionClient();
            var request = new CreateStreamRequest
            {
                StreamName = streamName,
                //通道类型(COMMON、ADVANCED)
                StreamType = "XXX",
                PartitionCount = partitionCount,
                //源数据类型(BLOB、JSON、CSV、FILE)
                 DataType = "XXX",
                //数据保留时长。取值范围:N*24,N的取值为1~7的整数。
                  DataDuration = 7 * 24,

            };

            List<ObsDestinationDescriptorEntity> obsDestinationDescriptorEntitys = new List<ObsDestinationDescriptorEntity>();
                var obsDestinationDescriptorEntity = new ObsDestinationDescriptorEntity
                {
                    //IAM委托名称
                    AgencyName = "XXX",
                    //桶名称
                    ObsBucketPath = "XXX",
                    //自定义文件
                    FilePrefix = "XXX",
                    //数据导入OBS时间
                    DeliverTimeInterval =XXX,
                    //转储OBS,在OBS桶中目录层次结构
                    PartitionFormat = "XXX",
                    //分隔符
                    RecordDelimiter = "XXX"
                };
                obsDestinationDescriptorEntitys.Add(obsDestinationDescriptorEntity);
            
            request.ObsDestinationDescriptor = obsDestinationDescriptorEntitys;

配置“CreateStreamRequest”对象之后,通过调用createStream的方法创建通道。

ResponseResult response = dic.CreateStream(request);
Console.WriteLine(response);

运行结果

执行ctrl+F5,在控制台查看到类似如下信息,表示创建成功。

ResponseResult{status_code='201 Created', content='', errorCode='', message=''}
表2 ResponseResult响应参数说明

参数名

类型

说明

content

String

响应消息体

errorCode

String

错误码

message

String

错误响应消息体

status_code

String

状态码

创建具有OBS自定义文件转储任务的通道

// 通道名称 
string streamName = "XXX"; 
// 通道的分片数量 
int partitionCount = XXX; 
var dic = new DISIngestionClient();
            var request = new CreateStreamRequest
            {
                StreamName = streamName,
                PartitionCount = partitionCount,
                //数据保留时长。取值范围:N*24,N的取值为1~7的整数。
                  DataDuration = 7 * 24,
               //通道类型(COMMON、ADVANCED)
                    StreamType = “XXX”,
            };

            List<ObsDestinationDescriptorEntity> obsDestinationDescriptorEntitys = new List<ObsDestinationDescriptorEntity>();
            
                var obsDestinationDescriptorEntity = new ObsDestinationDescriptorEntity
                {
                    //IAM委托名称
                    AgencyName = "XXX",
                    //桶名称
                    ObsBucketPath = "XXX",
                    //数据转储类型为“自定义文件转储”时,需要配置该参数。默认值:file_stream。
                    DeliverDataType = "XXX",
                   
                };
                obsDestinationDescriptorEntitys.Add(obsDestinationDescriptorEntity);
            
            request.ObsDestinationDescriptor = obsDestinationDescriptorEntitys;
   

配置“CreateStreamRequest”对象之后,通过调用createStream的方法创建通道。

ResponseResult response = dic.CreateStream(request);
Console.WriteLine(response);

运行结果

执行ctrl+F5,在控制台查看到类似如下信息,表示创建成功。

ResponseResult{status_code='201 Created', content='', errorCode='', message=''}
表3 ResponseResult响应参数说明

参数名

类型

说明

content

String

响应消息体

errorCode

String

错误码

message

String

错误响应消息体

status_code

String

状态码

分享:

    相关文档

    相关产品

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

提交成功!

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

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

*必选

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

字符长度不能超过200

提交反馈 取消

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

智能客服提问云社区提问