
# IoT设备接入数据源
**算子简介**
- 名称： IoT设备接入数据源
- 功能说明： 使用IoTDA云服务作为pipeline的数据源，接入IoTDA的数据。
- 约束：下游仅允许接产品过滤算子。
**算子配置**
**基础配置项**
**算子名称：**
- 配置项英文名：name
- 说明： 算子名称，对算子进行个性化的命名，以辅助增加可读性。支持中文、英文、数字、中划线、下划线，长度小于等于64个字符。
- 类型： STRING
- 必选： 否
- 约束： 需要符合正则表达式： \^\[\\u4E00-\\u9FA5A-Za-z0-9_-\]{1,64}$
**数据源ID：**
- 配置项英文名：datasSourceId
- 说明： 数据源ID，指定Pipeline作业的IoTDA数据源ID。 数据源ID可以通过**数据源接口**： /v1/${project_id}/datasources?type=IOTDA 获取。
  
- 类型： STRING
- 必选： 是
- 约束： 需要符合正则表达式： \^\[a-zA-Z0-9\]\[\\w_-\]{1,64}$
**事件时间：**
- 配置项英文名：eventTime
- 说明： 事件时间，以JSON Path格式来指定事件时间的获取来源。如果没有指定，则使用接受消息时的系统时间作为消息产生的事件时间。
- 必选： 是
- 子配置项：事件时间包括如下子配置项：JSON路径、时间样式。
**JSON路径：**
- 配置项英文名：jsonPath
- 说明： 事件时间字段的Json路径，以JSON Path格式来指定事件时间的获取位置。
- 类型： STRING
- 必选： 是
- 约束： 需要符合正则表达式： \^.{1,1000}$
**时间样式：**
- 配置项英文名：pattern
- 说明： 时间格式，事件事件的样例格式，如yyyyMMdd'T'HHmmss'Z'、MM/dd/yyyy hh:mm等。
- 类型： STRING
- 必选： 是
- 约束： 需要符合正则表达式： \^.{1,100}$
**高级配置项**
**分配时间戳提取器和水印：**
- 配置项英文名：assignerWithPeriodicWatermarksType
- 说明： 时间戳分配器，目前提供3种方式，BoundedOutOfOrdernessTimestampExtractor、AscendingTimestampExtractor、IngestionTimeExtractor。
  - BoundedOutOfOrdernessTimestampExtractor：允许固定时间延迟的分配器，适用于乱序但预先知道或只允许在流中将会遇到的最大延迟的场景。
  
  - AscendingTimestampExtractor：递增时间戳的分配器，适用于每个元素(elements)的时间在每个并行任务(parallel task)里是单调递增的场景。
  
  - IngestionTimeExtractor： 根据获取到数据时的系统时间分配时间戳，适用于无事件时间的场景。
   
- 类型： STRING
- 必选： 否，默认采用 BoundedOutOfOrdernessTimestampExtractor 。
- 约束：必须为BoundedOutOfOrdernessTimestampExtractor、AscendingTimestampExtractor、IngestionTimeExtractor 之一 。
**允许的最大延迟时间**：
- 配置项英文名：maxOutOfOrdernessInSeconds
- 说明： 允许的最大延迟时间，该配置仅作用于BoundedOutOfOrdernessTimestampExtractor，具体是在EventTime类型窗口中使用。
- 类型： STRING
- 必选： 否， 默认为300秒。
- 约束： 最小值0，最大值3600秒。
**是否拆分services数组：**
- 配置项英文名：isSplitServices
- 说明： 是否拆分services数组，当数据内容是数组时，用户可以指定是否需要将一条数组类型的数据拆分为多条数据。
- 类型： STRING
- 必选： 否，默认为false，即不拆分。
- 约束： 仅可填写 TRUE 或 FALSE 。
**启动配置**：
- 配置项英文名：startup
- 说明： 启动配置，用于配置启动时的配置参数。
- 必选： 否。
- 子配置项： 启动配置包括如下子配置项：启动模式。
**启动模式**：
- 配置项英文名：startupMode
- 说明： Pipeline启动时数据消费模式，LATEST表示读取最新数据，EARLIEST表示读取最旧的数据。
- 类型： STRING
- 必选： 否，默认为 LATEST。
- 约束： 仅可填写 LASTEST 与 EARLIEST 。
 
