连接器

Prev Next

概述

将现有软件系统与 Tulip 连接

Tulip 是一个开放平台,旨在与您的现有 IT 基础设施无缝集成。这种集成通过连接器(Connectors)实现。

连接器是 Tulip 的一项功能,可实现 HTTP API、MQTT 和 SQL 数据库与 Tulip 之间的数据交换。它们对于连接外部服务器和系统(包括Table API)至关重要。设置连接器后,您即可将外部信息导入 Tulip 应用,从而简化工作流程。

连接器类型

  1. HTTP- 从外部 API 访问数据。
  2. MQTT- 向您的 MQTT 命名空间写入数据。
  3. SQL- 访问 Tulip 外部的数据库。

要访问连接器,请将鼠标悬停在**“应用”选项卡上,然后选择“连接器”**。

Accessing Connectors

在“连接器”页面上,您可以查看连接器的状态、描述以及最后更新时间。

Connector Status

点击该连接器的相应行并向下滚动,即可查看处于哪个开发阶段的应用或自动化流程正在使用该连接器。Image}

将鼠标悬停在状态图标上,可查看有关每个 Environment 状态的更多信息。

Status Information

每个连接器可以包含多个连接器函数或查询,这些函数或查询会在应用内被触发。
以下是一个连接器函数的示例:

image.png

如何使用连接器

连接器可在触发器或 Automation Action Block 中使用。

示例 1

  1. “当操作员扫描条形码时”
  2. “在我的 SQL 数据库中查询该条形码”
  3. “然后根据该数据跳转到三个不同步骤中的一个。”

示例 2

  1. “当操作员按下此按钮时”
  2. “向我的HTTP API发送请求,该API用于跟踪工厂车间的生产问题。”

这两个示例都属于自助服务。只要你能查询 SQL 数据库或外部软件服务(如 MES 或 ERP),就可以在 Tulip 中编写查询语句。

下图展示了用于运行连接器函数的触发器编辑器逻辑:

Calling a Connector Function

连接器环境

**“环境”**选项卡允许您为每个连接器函数设置多个服务器。通过环境,您可以根据应用程序和自动化的生命周期,划分受影响的信息范围。

Environments Tab

有关环境的更多详细信息,请参阅此处。

技术细节

由于连接器需要与外部系统进行通信,因此了解如何根据您的自定义 IT 环境进行配置至关重要。连接器主机是 Tulip 平台的一个组件,负责管理这些连接。

对于可从您的 Tulip Cloud 公开访问的数据库和 API,无需进行额外配置。但是,如果出现问题,或者您需要连接到无法从 Tulip Cloud 公开访问的数据库、API 或机器,请参阅这篇关于连接器主机的文章。

创建连接器

设置新的连接器无需深入了解 API 或数据库,但熟悉连接类型会有所帮助。

要创建连接器,请导航至“应用”下的**“连接器”页面。点击右上角的“+ 创建连接器”。您可以选择现有的快速连接器,或点击“创建自定义连接器”**。

新建连接器设置

image.png

基本信息

  1. 为连接器添加名称和描述。这些内容可随时编辑。
  2. 选择连接器类型。连接器创建后无法更改此设置。
  3. [可选] 启用“自定义子域名”功能,可为每个函数配置唯一的子域名,从而便于与更复杂的服务架构进行集成。

例如,如果服务器地址为tulip.co,则功能一可使用community.tulip.co,功能二可使用support.tulip.co。

启用自定义子域名后,必须提供一个默认子域名以用于检查连接器的状态。

运行于:连接器主机

选择将执行您请求的连接器主机。由 Tulip 提供的云连接器主机通过 Tulip Cloud 发送请求。您账户中注册的任何本地连接器主机也会显示在此处。

点击此处了解有关连接器主机的更多信息。

Connector host capabilities

Some connector hosts do not support certain features. These hosts will be disabled or hidden in the connector host dropdown.

HTTP 连接器设置

点击此处了解如何设置 HTTP 连接器功能。

允许自定义子域名

启用此功能后,可在函数级别添加子域名。启用后,必须添加一个默认子域名,该子域名将用于检查连接器的在线状态。

**示例:**服务器为acme.co,其中部分函数查询sales.acme.co,另一些函数则访问shipping.acme.co 等。

服务器地址

指定 Tulip 连接的网络地址,即主机名或 IP 地址。

TLS

传输层安全协议(TLS)是一种旨在通过计算机网络提供安全通信的加密协议。它通过加密各方之间传输的数据来确保数据的隐私性和完整性。TLS 是安全套接层(SSL)的继任者,被广泛用于保障互联网连接的安全。

端口

您的服务器会在服务器提供商提供的特定网络端口上监听请求。443 端口是 HTTPS 服务最常用的端口,而 80 端口则是 HTTP 服务最常用的端口。

身份验证

Connector Host Version

For the OAuth Client Credential flow, Cloud Connector Host or On Prem Connector Host of version LTS13 or newer must be used.

  • 无认证- 无需认证,或者认证信息包含在其他请求头中,例如 x-auth-token。
  • 基本认证(Basic Auth)——基本认证,采用用户名和密码的方式。
  • OAuth 2.0(Bearer 令牌)——Bearer 令牌是当前最常用的访问令牌类型。它们由一段不透明字符串组成,对使用它的客户端而言并无特定含义。
  • OAuth 2.0(用户凭据)——通常用于需要代表用户访问有限资源的客户端,例如需要访问用户联系人或日历事件的移动应用。用户必须明确授予权限。
  • OAuth 2.0(客户端凭据)——客户端凭据是 Tulip 用于获取访问令牌的一种授权类型,通过使用客户端凭据(客户端 ID 和客户端密钥)向授权服务器进行身份验证,通常用于代表自身(而非代表用户)访问资源。
  • OAuth 2.0(服务账户)——适用于需要访问更广泛资源或管理功能的客户端。此角色授予对用户账户和资源的广泛访问权限,例如管理账户设置、创建或删除资源,或执行管理任务。
  • OAuth 1.0- OAuth 的早期版本,主要用于处理 Web 工作流。

点击此处了解有关 OAuth 的更多信息。

标头(可选)

标头可提供数据来源认证、数据完整性及重放保护。这些标头将被添加到连接器上的每个连接器函数中。

扩展证书颁发机构

image.png

可上传.pem格式的文件来扩展默认的 Node.js TLS 证书颁发机构。此字段会更新Node.js TLS 库中的 ca字段。

“可选地覆盖受信任的 CA 证书。默认情况下,系统会信任由 Mozilla 精选的知名 CA。当使用此选项显式指定 CA 时,Mozilla 的 CA 将被完全替换。 该值可以是字符串或 Buffer,也可以是字符串和/或 Buffer 的数组。任何字符串或 Buffer 均可包含多个拼接在一起的 PEM 证书颁发机构。 为了使连接通过身份验证,对端证书必须能够追溯到服务器信任的 CA。当使用无法追溯到知名 CA 的证书时,必须显式将该证书的 CA 指定为受信任的,否则连接将无法通过身份验证。 如果对端使用的证书与默认 CA 之一不匹配或无法形成证书链,请使用 ca 选项提供一个对端证书可匹配或形成证书链的 CA 证书。 对于自签名证书,该证书即为其自身的 CA,必须提供。对于 PEM 编码的证书,支持的类型包括“TRUSTED CERTIFICATE”、“X509 CERTIFICATE”和“CERTIFICATE”。另请参阅 tls.rootCertificates。

一个有效的 CA 示例应类似如下:

-----BEGIN CERTIFICATE-----MIIDXTCCAkWgAwIBAgIJALaEfh0WW6ZcMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNVBAYTAlVTMRYwFAYDVQQIDA1TYW4gRnJhbmNpc2NvMRIwEAYDVQQHDAlTYW4gSm9zZTEPMA0GA1UECgwGQ29tcGFueTAeFw0xNzA1MjUyMDE2NDRaFw0xNzA2MjQyMDE2NDRaMEUxCzAJBgNVBAYTAlVTMRYwFAYDVQQIDA1TYW4gRnJhbmNpc2NvMRIwEAYDVQQHDAlTYW4gSm9zZTEPMA0GA1UECgwGQ29tcGFueTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK9b+GVsTsmP7z9T2sh79uI/57pI1DBYNyOlwC0lfn8SebVKRg0qAsaF3V4rQ/RPZFGkTb2G7IKnWQZ6VB8AFLF6A9xuGe7vSG9ZcJ1AKM2uOwYXzWQNWRFiW1XPOEIOXB+N7kMFTF6ZzE6RkV68hVqVn7Kx4s0RYAKM4ESJIMyF64IHo5Rf6k3UtrOzy6M3LXM3axgUPHkHZh6/Pi3hecaF7w0qDhlS8UJLA4Gn1I6nrFt1URVd7aSIEiOQhs7wAGDzCjNYMEQK9ih0GLd9ybCm0flYo5fJqfOhWiCFm2z3SuGH9MSnVdrzxY6x23J/gE3spPvBopF6bRjQl0qiw1ZAgMBAAGjUDBOMB0GA1UdDgQWBBRZtdl2jSWpITThx8JZL4Jx0zCBdTAfBgNVHSMEGDAWgBRZtdl2jSWpITThx8JZL4Jx0zCBdTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQARzA8ydRMOfbU0QLOEp9V4B6nO8XBpe9uvtYwQjmb5ZX1bR2/P71bzeJwHK6v4RZl6V5fwGzFdsMFI8JAlLJChM1BpsU7a5R+U/X6XJpCzjErhZ68Z3G+TQ4Bk9LhRlQTH5ld9lR8aWpVPvPIqMtkJhbvWn9P4ysc8q3WYfILy9m9J8Hz3i3AaAEjS5WWm4BjKUMvOFOxaxHHh+ZjNTVrpePyPDrWBkMKn9CF1lwVItJf2JdSYvX1kH5P/M5bsKdwZ95O6d5xUl5Q09gxz/P0j4/QU+fTYhh8RUjKo4vvear9kKxQ2b/8IoQ6A54WHeFzG+h

SQL 连接器配置

字段 描述
服务器地址 数据库服务器的 IP 地址或主机名。这是托管数据库并可访问数据库的位置。
端口 数据库服务器监听的端口号。常见的端口号包括:MySQL 的 3306、PostgreSQL 的 5432 以及 SQL Server 的 1433。
SSL 指定是否使用 SSL(安全套接层)对与数据库服务器的连接进行加密。通常包括 SSL 模式和证书的相关设置。
数据库 您要连接的服务器上特定数据库的名称。您的数据存储于此。
用户名 用于身份验证并访问数据库所需的用户名。该用户应具备在数据库上执行操作所需的权限。
密码 与用户名关联的密码,用于对数据库进行用户身份验证。这可确保访问控制的安全性。

MQTT 连接器设置

点击此处了解如何创建 MQTT 连接器。

进一步阅读