
# 应用示例
#### 操作场景
数据接入服务面向实时数据，提供高效采集、传输、分发能力，提供丰富的接口，帮助您快速构建实时数据应用。
下面介绍如何调用[创建通道](https://support.huaweicloud.com/api-dis/dis_02_0016_01.html)API创建数据接入通道，API的调用方法请参见[如何调用API](https://support.huaweicloud.com/api-dis/dis_02_0516.html)。
![](https://support.huaweicloud.com/api-dis/public_sys-resources/note_3.0-zh-cn.png)
通过IAM服务获取到的Token有效期为24小时，需要使用同一个Token鉴权时，可以先将Token缓存，避免频繁调用。
#### 涉及API
当您使用Token认证方式完成认证鉴权时，需要获取用户Token并在调用接口时增加"X-Auth-Token"到业务接口请求消息头中。
- IAM获取token的API
- DIS创建通道的API
 
#### 前提条件
您需要规划数据接入服务所在的区域信息，并根据区域确定调用API的Endpoint。
终端节点（Endpoint）即调用API的**请求地址** ，不同服务不同区域的终端节点不同。本服务的Endpoint您可以从[终端节点Endpoint](https://support.huaweicloud.com/api-dataartsstudio/dataartsstudio_02_0004.html)获取。
#### 创建通道
如下示例是创建通道最简单的配置。
1. Token认证，具体操作请参考[Token认证](https://support.huaweicloud.com/api-dis/dis_02_0517.html#dis_02_0517__zh-cn_topic_0183235768_zh-cn_topic_0181281305_dis_02_0517_zh-cn_topic_0121671869_section2417768214391)。
2. 发送"POST https://dis的Endpoint/v2/{project_id}/streams"。
3. 在Request Header中增加"X-Auth-Token"。
4. 在Request Body中传入参数如下：
   ```
   {
   "stream_name": "dis-DLpR",
   "partition_count": 1,
   "stream_type": "COMMON",
   "data_duration": 24
   }
   ```
   - stream_name：通道的名称，由您自行定义，例如取名为newstream。
   
   - partition_count：分区是DIS数据通道的基本吞吐量单位，您可以根据业务吞吐的需求选择通道的分区数。
   
   - stream_type：通道类型，"COMMON"表示普通分区，单分区支持最大1MB/s的写入速度和2MB/s的读取速度。
   
   - data_duration：通道生命周期，即通道分区中数据的保留时长。
   
   
   请求响应成功后，返回201 Created，表示通道创建成功。
   若请求失败，则会返回错误码及对应的错误信息说明，详细错误码信息请参考[错误码](https://support.huaweicloud.com/api-dis/ErrorCode.html)。
   
 
#### 创建支持自动扩缩容的通道
您还可以创建支持自动扩缩容的通道，可以根据通道的流量情况自动为您扩充或缩减分片数量。示例如下。
1. Token认证，具体操作请参考[Token认证](https://support.huaweicloud.com/api-dis/dis_02_0517.html#dis_02_0517__zh-cn_topic_0183235768_zh-cn_topic_0181281305_dis_02_0517_zh-cn_topic_0121671869_section2417768214391)。
2. 发送"POST https://dis的Endpoint/v2/{project_id}/streams"。
3. 在Request Header中增加"X-Auth-Token"。
4. 在Request Body中传入参数如下：
   ```
   {
   "stream_name": "dis-DLpR",
   "partition_count": 1,
   "stream_type": "COMMON",
   "data_duration": 24
   "auto_scale_enabled": true,
   "auto_scale_min_partition_count": 2,
   "auto_scale_max_partition_count": 10
   }
   ```
   这个示例中创建了支持自动扩缩容的通道，通道缩容的最小分区数量是2，扩容的最大分区数量是10，也就是说如果通道10个分区后不会再触发自动扩容。
   - auto_scale_enabled：是否开启自动扩缩容，true表示开启。
   
   - auto_scale_min_partition_count：当自动扩缩容启用时，自动缩容的最小分片数，比如这个示例中当分区数量为2时，不会再触发自动缩容。
   
   - auto_scale_max_partition_count：当自动扩缩容启用时，自动扩容的最大分片数，比如这个示例中当分区数量为10时，不会再触发自动扩容。
   
   
   请求响应成功后，返回201 Created，表示通道创建成功。
   若请求失败，则会返回错误码及对应的错误信息说明，详细错误码信息请参考[错误码](https://support.huaweicloud.com/api-dis/ErrorCode.html)。
   
 
#### 创建带数据Schema的通道
您还可以为通道配置Schema，在使用DIS转储到其它服务时，可以根据通道配置的Schema来完成映射，示例如下。
1. Token认证，具体操作请参考[Token认证](https://support.huaweicloud.com/api-dis/dis_02_0517.html#dis_02_0517__zh-cn_topic_0183235768_zh-cn_topic_0181281305_dis_02_0517_zh-cn_topic_0121671869_section2417768214391)。
2. 发送"POST https://dis的Endpoint/v2/{project_id}/streams"。
3. 在Request Header中增加"X-Auth-Token"。
4. 在Request Body中传入参数如下：
   ```
   {
   "stream_name": "dis-DLpR",
   "partition_count": 1,
   "stream_type": "COMMON",
   "data_duration": 24
   "auto_scale_enabled": true,
   "auto_scale_min_partition_count": 1,
   "auto_scale_max_partition_count": 10
   "data_type": "JSON",
   "data_schema": 
   "{\"type\":\"record\",\"name\":\"RecordName\",\"fields\":[{\"name\":\"key1\",\"type\":\"string\"},{\"name\":\"key2\",\"type\":\"string\"}]}"
   }
   ```
   这个示例中创建了一个源数据类型为JSON，且数据包含"key1"、"key2"这两个属性的通道。
   - data_type：指定源数据的类型，"JSON"表示分区中的数据格式为JSON格式。
   
   - data_schema：源数据Schema，用于描述JSON、CSV格式的源数据结构，采用Avro Schema的语法描述。
   
   
   请求响应成功后，返回201 Created，表示通道创建成功。
   若请求失败，则会返回错误码及对应的错误信息说明，详细错误码信息请参考[错误码](https://support.huaweicloud.com/api-dis/ErrorCode.html)。
   
 
