DCME 端点
DCME 端点和参数
DCME 端点分为两组: 面向用户的 DCME 端点 和 面向管理员的 DCME 端点 。所有 DCME 端点都要求在 Server 上配置 TLS。
要详细了解对象关系以及如何在 API 中使用对象关系,请参阅 对象关系 部分。
如需详细了解数据连接,请访问 DCM - Server 和 数据连接管理器:Server UI 帮助页面。
面向用户的 DCME 端点
具有 API 访问权限的用户可以使用这些端点:
所有 API 端点都会返回单独的用户数据(每个用户只能查看和管理自己的连接)。
要检索 DCM 连接记录,请使用 GET {baseURL}/v3/dcm/connections/{id} 端点。端点会返回有关 DCM 连接的所有信息,包括相关数据源和凭证以及共享信息。
参数
id (string):必填。输入您想要获取其信息的 DCM 连接的 ID。
请求示例:cURL
curl --location --request GET 'https://localhost/webapi/v3/dcm/connections/d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3' \ --header 'Authorization: Bearer BearerTokenGoesHere'
要检索工作流中引用的 DCM 连接记录,请使用 GET {baseURL}/v3/dcm/connections/lookup 端点。端点会返回有关 DCM 连接的所有信息,包括相关数据源和凭证以及共享信息。
注意
此端点中使用的 ConnectionID 与其他 DCM 端点中使用的 ID 不同。ID 用于引用各种 DCM 对象,而 ConnectionID 仅在工作流中用于引用特定用户的 DCM 连接。
参数
connectionId (string):必填。输入您想要获取其信息的 DCM ConnectionID。
请求示例:cURL
curl --location --request GET 'https://localhost/webapi/v3/dcm/connections/lookup?connectionId=d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3' \ --header 'Authorization: Bearer BearerTokenGoesHere'
要与指定的用户或用户组共享 DCM 连接以便执行 Server 任务,请使用 PUT {baseURL}/v3/dcm/connections/{id}/sharing/execution 端点。
注意
由于这是一个 PUT 端点,因此它会覆盖现有的共享,而不是向现有列表添加其他用户或用户组。提供的用户和用户组列表不能为空;要移除现有共享,请使用 DELETE 端点。
参数
id (string):必填。输入要与其他用户或用户组共享的 DCM 连接 ID。
sharingContract (body):必填。要更新执行共享,必须指定 sharingContract 参数。两个数组都是必需的,但只有一个数组可以留空。
userIds (string array):输入要与其共享连接的所有用户 ID 的列表。如果没有用户可以共享,则保留空数组(仅限 userGroups)。
userGroupIds (string array):输入要与其共享连接的所有用户组 ID 的列表。如果没有用户组可以共享,则保留空数组(仅限 users)。
请求示例:cURL
curl --location --request PUT 'https://localhost/webapi/v3/dcm/connections/d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3/sharing/execution' \ --header 'Authorization: Bearer BearerTokenGoesHere' \ --header "Content-Type: application/json" \ --data '{"userIds": ["61d57bea3c15317e1a48205b", "61d564361d6d5da7ad461a32"],"userGroupIds": ["d5da7ad4"]}'
要取消共享 DCM 连接,请使用 DELETE {baseURL}/v3/dcm/connections/{id}/sharing/execution 端点。
参数
id (string):必填。输入要取消与所有用户和用户组共享的 DCM 连接 ID。
请求示例:cURL
curl --location --request DELETE 'https://localhost/webapi/v3/dcm/connections/d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3/sharing/execution' \ --header 'Authorization: Bearer BearerTokenGoesHere'
要创建或更新 DCM 连接,请使用 POST {baseURL}/v3/dcm/connections 端点。
单个端点同时提供创建和更新功能,根据请求中是否包含对象 ID 进行区分。目前不支持在创建新连接时重复使用现有数据源或凭证。
参数
upsertConnectionContract (string):必填。通过定义可能的架构组合,将数据源(描述目标实例主机)和凭证(例如用户名和密码)组合成 DCM 连接。
id (string):可选。如果要更新现有连接,请输入连接 ID。如果要创建新连接,请跳过。
name (string):必填。输入连接的名称。
schemaName (string):必填。输入要使用的连接架构名称。架构定义连接所需的参数以及允许用于该连接的数据源和凭证架构。
allowInSdks (boolean):可选。
parameters (object):必填。根据所选的 schemaName,可能需要指定各种参数。
dataSource (object):必填。用于连接的数据源,描述数据源实例主机和其他参数,如 DCM UI 中所示。
object (object):必填。
id (string):如果要更新现有连接,请输入数据源 ID。如果要创建新连接,请跳过。目前无法在创建新连接时使用现有数据源。
name (string):必填。输入数据源的名称。
schemaName (string):必填。输入所选数据源的架构名称。
其他特定于架构的参数 :根据所使用的架构,您将需要提供其他数据源参数。
credentials (string):可选,具体取决于在 upsertConnectionContract 中选择的 schemaName。有些连接可能不需要任何凭证,而有些连接可能有多个嵌套对象(时段)。
main (object):可选(请参阅上文)。此 main 只是一个(最常见的)凭证时段名称。但是,根据连接架构中的定义,它可能有不同的名称,或者可能有多个用于连接的凭证时段。
id (string):如果要更新现有连接,请输入凭证 ID。如果要创建新连接,请跳过。目前无法在创建新连接时使用现有凭证。
name (string):必填。输入凭证的名称。
schemaName (string):必填。输入所选凭证的架构名称。
其他特定于架构的参数 :根据所使用的架构,您将需要提供其他数据源参数。
请求示例:cURL
curl --location --request POST 'https://localhost/webapi/v3/dcm/connections' \ --header 'Authorization: Bearer BearerTokenGoesHere' \ --header "Content-Type: application/json" \ --data '{"Name":"MSSQL DEV Admin","SchemaName":"database-odbc-dsn-mssql","Parameters":{},"DataSource":{"object":{"name":"SQL Server DEV","SchemaName":"database-odbc-dsn-mssql","parameters":{"dsn":"sql server"}}},"Credentials":{"main":{"object":{"name":"SQL Server Admin Credentials","SchemaName":"username_password","parameters":{},"userName":"admin","secrets":{"password":{"value":{"text":"password"},"Parameters":{}}}}}}}'
要删除 DCM 连接,请使用 DELETE {baseURL}/v3/dcm/connections/{id} 端点。数据源和凭证若未用于任何其他连接,则也将予以删除。
参数
id (string):必填。输入要删除的 DCM 连接 ID。
请求示例:cURL
curl --location --request DELETE 'https://localhost/webapi/v3/dcm/connections/d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3' \ --header 'Authorization: Bearer BearerTokenGoesHere'
面向管理员的 DCME 端点
具有 API 访问权限的管理员可以使用的端点:
所有管理 API 端点都会返回所有用户在 Server 上可用的所有数据,无论所有权如何。
要检索 DCM 连接记录,请使用 GET {baseURL}/v3/dcm/admin/connections/{objectId} 端点。
参数
objectId (string):必填。输入要获取相关信息的 DCM 连接 ID。
请求示例:cURL
curl --location --request GET 'https://localhost/webapi/v3/dcm/admin/connections/d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3' \ --header 'Authorization: Bearer BearerTokenGoesHere'
要检索 Server 上存在的所有 DCM 连接记录的列表,请使用 GET {baseURL}/v3/dcm/admin/connections 端点。
参数
这两个参数都是可以组合的筛选条件。将 connectionId 和 visibleBy 一起使用将返回指定了 ConnectionID 的连接,该连接对指定用户可见。
connectionId (string):可选。根据工作流引用的 connectionID 筛选连接。如果连接是为了协作而共享的,则可以为单个 connectionID 返回多个连接。
visibleBy (string):可选。输入用户 ID。如果存在,它会将结果过滤为与指定用户可用的所有连接相同的结果。
请求示例:cURL
curl --location --request GET 'https://localhost/webapi/v3/dcm/admin/connections?connectionId=d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3&visibleBy=bc7cb7b47c33' \ --header 'Authorization: Bearer BearerTokenGoesHere'
要代表用户创建或更新 DCM 连接记录,请使用 POST {baseURL}/v3/dcm/admin/connections 端点。
参数
upsertConnectionContract (string):必填。
id (string):可选。如果要更新现有连接,请输入连接 ID。如果要创建新连接,请跳过。
ownerId (string):必填。
创建 DCM 连接时,输入应代表其创建连接的用户 ID。
更新 DCM 连接时,即使您不想更改,也必须输入 ownerId 。如需详细了解如何获取 ownerID,请转至 检索 DCM 连接记录 或 检索 DCM 连接记录列表 。
name (string):必填。输入连接的名称。
schemaName (string):必填。输入要使用的连接架构名称。架构定义连接所需的参数以及允许用于该连接的数据源和凭证架构。
allowInSdks (boolean):可选。
parameters (object):必填。根据所选的 schemaName,可能需要指定各种参数。
dataSource (object):必填。用于连接的数据源
object (object):必填。
id (string):如果您要更新现有连接,请输入数据源 ID。如果要创建新连接,请跳过。目前无法在创建新连接时使用现有数据源。
name (string):必填。输入数据源的名称。
schemaName (string):必填。输入所选数据源的架构名称。
其他特定于架构的参数 :根据所使用的架构,您将需要提供其他数据源参数。
credentials (string):可选,具体取决于在 upsertConnectionContract 中选择的 schemaName。有些连接可能不需要任何凭证,而有些连接可能有多个凭证。
main (object):可选(请参阅上文)。
id (string):如果您要更新现有连接,请输入凭证 ID。如果要创建新连接,请跳过。目前无法在创建新连接时使用现有凭证。
name (string):必填。输入凭证的名称。
schemaName (string):必填。输入所选凭证的架构名称。
其他特定于架构的参数 :根据所使用的架构,您将需要提供其他凭证参数。
请求示例:cURL
curl --location --request POST 'https://localhost/webapi/v3/dcm/connections' \ --header 'Authorization: Bearer BearerTokenGoesHere' \ --header "Content-Type: application/json" \ --data '{"Name":"MSSQL DEV Admin","onwerId":"1b4bc56d489d9543a",SchemaName":"database-odbc-dsn-mssql","Parameters":{},"DataSource":{"object":{"name":"SQL Server DEV","SchemaName":"database-odbc-dsn-mssql","parameters":{"dsn":"sql server"}}},"Credentials":{"main":{"object":{"name":"SQL Server Admin Credentials","SchemaName":"username_password","parameters":{},"userName":"admin","secrets":{"password":{"value":{"text":"password"},"Parameters":{}}}}}}}'
要取消其共享类型已定义为“为执行而共享”的 DCM 连接,请使用 DELETE {baseURL}/v3/dcm/admin/connections/{objectId}/sharing/execution 端点。
参数
objectId (string):必填。输入执行时要取消共享的 DCM 连接 ID。
请求示例:cURL
curl --location --request DELETE 'https://localhost/webapi/v3/dcm/admin/connections/d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3/sharing/execution' \ --header 'Authorization: Bearer BearerTokenGoesHere'
要取消其共享类型已定义为“为协作而共享”的 DCM 连接,请使用 DELETE {baseURL}/v3/dcm/admin/connections/{objectId}/sharing/collaboration 端点。
参数
objectId (string):必填。输入协作时要取消共享的 DCM 连接 ID。
请求示例:cURL
curl --location --request DELETE 'https://localhost/webapi/v3/dcm/admin/connections/d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3/sharing/collaboration' \ --header 'Authorization: Bearer BearerTokenGoesHere'
要删除 DCM 连接记录,请使用 DELETE {baseURL}/v3/dcm/admin/connections/{objectId} 端点。数据源和凭证若未用于任何其他连接,则也将予以删除。
参数
objectId (string):必填。输入要删除的 DCM 连接 ID。
请求示例:cURL
curl --location --request DELETE 'https://localhost/webapi/v3/dcm/admin/connections/d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3' \ --header 'Authorization: Bearer BearerTokenGoesHere'
对象关系
如果您要创建 DCM 连接,则可以按如下方式使用创建的对象:
创建的对象:
“ id ”(例如“id”: “c128cc5fca-86cc-4e7e-93a3-d500cca9a3f3”)
“ connectionId ”(例如“id”: “c0332423423-86cc-4e7e-93a3-d500cca9a3f3”)
您可以将其用作:
id (如果要 检索 DCM 连接记录 )
connectionId (如果要 检索工作流中引用的 DCM 连接 )
id (如果要 与指定用户和用户组共享 DCM 连接 )
id (如果要 更新 DCM 连接 )
id (如果要 删除 DCM 连接 )
id (如果要 取消共享 DCM 连接 )
管理员 :
id (如果要 检索 DCM 连接记录 )
ownerId (userId)(如果要 代表用户创建 DCM 连接
id (如果要 代表用户更新 DCM 连接 )
id (如果要 取消为执行而共享的 DCM 连接 )
id (如果要 取消为协作而共享的 DCM 连接 )
id (如果要 删除 DCM 连接 )