钉钉拉取数据到IDaaS

最后更新时间:2023年05月08日

1. 场景描述

image.png

  1. 从钉钉 查询相关数据,拉取到数据同步模块。

  2. 数据同步模块对原始数据进行映射转换,生成IDaaS需要的目标数据。

  3. 数据同步模块调用IDaaS接口推送数据到IDaaS系统。

2. 支持的对象

支持同步组织机构,账户,组数据到IDaaS系统。

3. 数据同步配置

在管理员界面,点击同步任务 -》 添加同步任务 -》上游同步 -》钉钉V2版本。
image.png
image.png

3.1. 基本信息配置

3.1.1. 同步任务名称:

同步任务名称不允许重复。长度不超过32字符。
image.png

3.1.2. 上游配置:

新建配置,或者选择已有配置。
新建配置:

  • 上游配置名称:不允许重复。长度不超过32字符。

  • 钉钉oapi地址:填写https://oapi.dingtalk.com

  • cropId:由钉钉开放平台提供,https://open-dev.dingtalk.com/#/index获取

image.png

  • 应用agentId:获取方式:钉钉开放平台 -> 应用开发 -> 企业应用 -> 点击应用 -> ‘应用详情’中’AgentId’属性

image.png
image.png

  • 应用appKey:获取方式:钉钉开放平台 -> 应用开发 -> 企业应用 -> 点击应用 -> ‘应用详情’中’AppKey’属性


image.png

  • 应用appSecret:获取方式:钉钉开放平台 -> 应用开发 -> 企业应用 -> 点击应用 -> ‘应用详情’中’AppSecret’属性


image.png

  • 分页数量限制:数据拉取支持分页,默认每页限制为100条。可自定义设置,但最大限制为2000

  • 钉钉事件回调加密aes_key:如果需要在钉钉数据变化时,通知connector,请把钉钉应用里面的事件与回调-> 加密aes_key 填入该输入框,并且手动去钉钉应用里面配置事件回调功能

image.png

  • 钉钉事件回调签名token:如果需要在钉钉数据变化时,通知connector,请把钉钉应用里面的事件与回调-> 签名 token 填入该输入框,并且手动去钉钉应用里面配置事件回调功能

image.png

  • 钉钉回调地址:请把该地址填入钉钉应用的 事件与回调 -> 请求网址 里面,其中{connectorHost}是connector的当前域名(一般情况下,如果数据同步服务没有单独配置域名,{connectorHost}为当前idaas的域名加上”/connector”,如:idaas域名为 https://www.idsmanager.com ,数据同步服务域名为:https://www.idsmanager.com/connector ),{taskId}是关联的同步任务ID,{eid}是IDaaS租户ID(IDaaS租户ID在IDaaS的概述页面查看)。参考文档:https://open.dingtalk.com/document/org/push-events

image.png

注意:调用钉钉通讯录相关接口,需要进行接口授权,请在应用 –》权限管理 –》通信录管理,进行接口授权。
image.png
image.png

3.1.3. 授权信息:

关联应用是为了根据应用进行接口范围和数据范围的管理,保证IDaaS数据的安全性。
image.png
应用API状态:开启:允许调用IDaaS接口。关闭:不允许调用IDaaS接口。
接口范围:设置同步任务允许调用哪些接口。请根据需要,选择开放调用的接口。
数据范围:设置在拉取IDaaS数据时,可以从哪些组织层级查询到数据。

3.1.4. 规则配置:

  • IDaaS根节点标识:

选择需要同步到IDaaS的组织机构根节点,选择后,后续所有数据以该节点为根节点进行同步。如果不选择, 默认同步到IDaaS人事组织根节点。

  • 上游系统根节点标识:

填入钉钉的部门ID,查看方式:钉钉管理后台–》通讯录 –》部门管理 –》编辑部门获取。
image.png
image.png

  • 同步类型:

选择需要同步的对象类型,如:组织机构,账户,组。

  • 默认密码:

同步账户时,若账户映射的密码字段值为空,则使用该默认密码进行填值。该项非必填。

  • 增改模式:

开启后,系统在同步数据前,将根据检测字段检测数据是否已存在,如存在则进行修改同步,否则进行新建同步。钉钉 同步只支持外部ID字段检测。
image.png

4. 字段映射

字段映射主要作用为把来源的原始数据,根据所配置的字段映射规则,转换成目标所需要的数据。该同步场景下,已经预设了一些常用字段映射规则,如需更改,请自行修改即可。
字段映射方式分为:字段映射和脚本映射。
字段映射:一对一的直接映射,直接把来源字段映射为目标所需要字段。
脚本映射:根据groovy脚本所配置的内容,对来源数据进行处理之后,再映射到目标字段。groovy脚本配置方式请参考文章:
connector groovy脚本使用文档

新增字段映射:
点击添加按钮,选择映射方式,选择字段值,如果字段值在下拉列表中不存在,可以手动输入。
image.png

5. 同步策略

5.1. 同步方式

同步方式分为三种:手动,定时,实时。

5.1.1. 手动:

手动同步指管理员手动触发同步任务。可在同步任务页面点击立即同步按钮,进行立即同步。该同步方式下,同步任务会根据配置好的信息,从来源默认根节点下,拉取所需要同步的对象(组织机构,账户),同步到下游系统中。

5.1.2. 定时:

定时同步指根据同步任务配置的定时任务执行计划,进行数据的同步。也可以进行手动触发。
定时任务又分为周期执行和定时执行两种。
周期执行:勾选“周期执行”并勾选“周二”并选择“间隔02:00”,表示在每个周二每隔2小时执行一次同步任务。
定时执行:勾选“定期执行”并勾选“周二”并选择“02:00:00”,表示在每个周二的2点执行一次同步任务。
image.png

5.1.3. 实时:

实时同步表示当数据源发生变化时,上游业务系统自动触发同步任务实时变更数据。(钉钉上游同步不支持实时同步),如需要钉钉数据变动时,实时通知IDaaS,请参考上游配置里面的事件订阅。

5.2. 失败自动重试

该功能主要应对在数据同步过成中,如出现网络短暂波动而造成的数据同步失败的情况。选择失败重试之后,失败的数据将会立即进行重推。重推数据时,不再从来源拉取数据,使用之前已经拉取到的来源数据进行重推。失败重试可以选择重试1,2,3次。
注意:该功能无法解决由于来源数据错误而导致的数据推送失败的情况。