
# DIS数据源
**算子简介**
- 名称： DIS数据源，IoT数据分析服务仅在华为云部署形态支持DIS数据源。
- 功能说明： 使用DIS云服务作为pipeline的数据源，从DIS中获取数据。
- 约束： 下游不允许对接数据源，目前有：IoT设备接入数据源、DIS数据源，及产品过滤算子。
**算子配置**
**基础配置项**
**算子名称：**
- 配置项英文名：name

- 说明： 算子名称，对算子进行个性化的命名，以辅助增加可读性。支持中文、英文、数字、中划线、下划线，长度小于等于64个字符。
- 类型： STRING
- 必选： 否
- 约束： 需要符合正则表达式： \^\[\\u4E00-\\u9FA5A-Za-z0-9_-\]{1,64}$
**数据源ID：**
- 配置项英文名：datasSourceId

- 说明： 数据源ID，指定Pipeline作业的IoTDA数据源ID。 数据源ID可以通过**数据源接口**： /v1/${project_id}/datasources?type=DIS获取。
  
- 类型： STRING
- 必选： 否
- 约束： 需要符合正则表达式： \^\[\\u4E00-\\u9FA5A-Za-z0-9_-\]{1,64}$
**事件时间：**
- 配置项英文名：eventTime

- 说明： 事件时间，以JSON Path格式来指定事件时间的获取来源。如果没有指定，则使用接受消息时的系统时间作为消息产生的事件时间。
- 必选： 是
- 子配置项：事件时间包括如下子配置项：JSON路径、时间样式、时区。
**JSON路径：**
- 配置项英文名：jsonPath

- 说明： 事件时间字段的Json路径，以JSON Path格式来指定事件时间的获取位置。
- 类型： STRING
- 必选： 是
- 约束： 需要符合正则表达式： \^.{1,100}$
**时间样式：**
- 配置项英文名：pattern

- 说明： 时间格式，事件事件的样例格式，如yyyyMMdd'T'HHmmss'Z'、MM/dd/yyyy hh:mm等。
- 类型： STRING
- 必选： 是
- 约束： 需要符合正则表达式： \^.{1,100}$
**时区：**
- 配置项英文名：timeZone
- 说明： 时区，以UTC偏移量表示，请填写-12 \~ 12的数字；若不填写，则默认为UTC时间。。
- 类型： INTEGER
- 必选： 否，默认为0时区。
- 约束： 最小值-12， 最大值12。
**高级配置项**
**分配时间戳提取器和水印：**
- 配置项英文名：assignerWithPeriodicWatermarksType

- 说明： 时间戳分配器，目前提供3种方式，BoundedOutOfOrdernessTimestampExtractor、AscendingTimestampExtractor、IngestionTimeExtractor。
  - BoundedOutOfOrdernessTimestampExtractor：允许固定时间延迟的分配器，适用于乱序但预先知道或只允许在流中将会遇到的最大延迟的场景。
  
  - AscendingTimestampExtractor：递增时间戳的分配器，适用于每个元素(elements)的时间在每个并行任务(parallel task)里是单调递增的场景。
  
  - IngestionTimeExtractor：根据获取到数据时的系统时间分配时间戳，适用于无事件时间的场景。
   
- 类型： STRING
- 必选： 否，默认采用 BoundedOutOfOrdernessTimestampExtractor 。
- 约束：必须为BoundedOutOfOrdernessTimestampExtractor、AscendingTimestampExtractor、IngestionTimeExtractor 之一 。
**允许的最大延迟时间：**
- 配置项英文名：maxOutOfOrdernessInSeconds

- 说明： 允许的最大延迟时间，该配置仅作用于BoundedOutOfOrdernessTimestampExtractor，具体是在EventTime类型窗口中使用。
- 类型： STRING
- 必选： 否， 默认为300秒。
- 约束： 最小值0，最大值3600秒。
**启动配置**：
- 配置项英文名：startup

- 说明： 启动方式，用于配置启动时的配置参数。
- 必选： 否。
- 子配置项： 启动配置包括如下子配置项： 启动模式。
**启动模式**：
- 配置项英文名：startupMode

- 说明： Pipeline启动时数据消费模式，GROUP_OFFSETS表示从上次读取到的位置继续读取，LATEST表示读取最新数据，EARLIEST表示读取最旧的数据。
- 类型： STRING
- 必选： 否，默认为 GROUP_OFFSETS。
- 约束： 仅可填写GROUP_OFFSETS、 LASTEST 与 EARLIEST 。
 
