第一个连接器
1. 创建连接器文件
上一篇中介绍了连接器的基本概念,这一篇中我们将实现一个最简单的连接器,按国际惯例,从hello world开始。
在customized/integrated_customized目录下创建一个 helloworld.py文件,写入以下内容:
def action_hello(input_data: dict, *args, **kwargs):
name = input_data.get('name', '')
return {'result': f'hello {name}'}
def api():
hello_action = {
'key': 'hello',
'action_type': 'action',
'implement': action_hello,
'input_fields': [
{
'key': 'name',
'label': '姓名',
'required': True,
'help_text': '输入姓名',
}
],
'label': '打招呼',
'help_text': ''
}
api_data = {
'key': 'CUS_HelloWorldAPI',
'actions': {
hello_action['key']: hello_action,
},
'label': '你好世界',
'description': '',
'image': "https://fbi.tizdata.com/flow/应用.svg",
}
return api_data
连接器的入口函数固定为 api() ,在入口函数中需要返回一个字典,字典中包含了连接器的完整定义。
在这个例子中我们定义了一个名为“你好世界”的连接器,包含一个名为“打招呼”的动作。输入一个姓名,动作将输出一句问候。详细的字段字义请查看字段定义章节
2. 发布上线
创建好连接器后,需要将其发布到AgileFlow中,以便其他用户可以使用。
- 访问http://localhost:8086/admin/
- 登录管理员账号
- 打开自定义连接器页面
- 点击"创建连接器"按钮
- 填写连接器信息
| ** 字段名** | ** 说明** |
|---|---|
连接器key | 连接器的key必须以"CUS_"开头 |
版本号 | 连接器版本,默认为1.0.0 |
是否是最新版本 | 一个连接器可以有多个版本,只有最新版本会在设计器页面显示 |
存储路径 | python文件存储路径, 在本例中为helloworld。 |
连接器发布成功后,如果python文件进行了修改,需要重新发布才会生效。重新发布操作过程如下:
- 在自定义链接器页面找到对应的连接器
- 点编辑按钮
- 修改需要修改的信息确定即可
3. 测试验证
上一步中我们已成功发布了连接器,现在可以在AgileFlow系统中使用这个连接器了。
- 打开AgileFlow
- 创建一个自定义流程
- 在流程中添加第二个节点
- 选择刚才发布的连接器
你好世界 - 选择动作
打招呼 - 输入姓名
张三 - 点击保存并测试,您将看到输出
hello 张三
4. 最佳实践
4.1 命名规范
- 自定义连接器的key必须以"CUS_"开头
- 使用有意义的英文标识符,避免使用缩写
4.2 错误处理
- 在动作实现函数中适当处理异常
- 提供清晰的错误信息,便于调试和问题定位
- 对输入数据进行有效性验证
4.3 文档说明
- 为每个字段提供清晰的帮助文本
- 为动作和连接器提供详细的功能描述
4.4 类型安全
- 明确定义字段的数据类型
- 对输入数据进行类型检查和转换
- 使用合适的字段类型约束用户输入