- 入门指南
- 面向 Administrator
- RPA 工作流项目
- 应用程序项目
- Studio Web 中的应用程序
- 初始化编码应用程序项目
- 在 IDE 中工作
- 绑定和 runtime 资源
- 发布和部署编码应用程序项目
- 应用程序活动
- 智能体流程
- Maestro 案例
- Maestro 流程
- Agents (智能体)
- Solutions (解决方案)
- API 工作流
- 测试
编码应用程序中的绑定,介绍如何在 Bindings_v2.json 中声明 UiPath 资源,以及 Studio Web 在推送时如何注册。
编码应用程序很少是独立的,它通常会调用 Orchestrator 资源,例如资产、存储桶、队列、连接或其他自动化项目。Studio Web 使用应用程序来源附带的 bindings_v2.json 文件来在部署时声明、解析和覆盖这些引用。
什么是绑定
绑定是从编码应用程序到 UiPath 资源的逻辑引用。它包含两个部分:
bindings_v2.json中的声明,位于推送内容的根目录。每个条目都命名一个资源、资源类型和默认值。- Orchestrator 实体(文件夹、资产、存储桶、队列、连接或流程)的具体解决方案,在部署时由解决方案的环境配置决定。
由于 bindings_v2.json 中的声明稳定,因此可以将相同的编码应用程序部署到开发、临时和生产阶段,而无需更改代码。
在以下位置声明绑定 bindings_v2.json
推送内容的根目录中的 bindings_v2.json 文件用于声明绑定。它遵循带有顶层 resources 数组的版本控制架构;每个条目描述一个绑定。
示例:
{
"version": "2.0",
"resources": [
{
"activityDisplayName": "Get Asset",
"activityId": "GetRobotAsset_1",
"resource": "asset",
"key": "Asset",
"id": "assetAssetAssetFalse",
"value": {
"name": {
"defaultValue": "Asset",
"isExpression": false
}
},
"metadata": {
"BindingsVersion": "2.2"
}
},
{
"activityDisplayName": "Invoke Process",
"activityId": "InvokeProcess_1",
"resource": "process",
"key": "Arghya-Queue-Query",
"id": "processArghya-Queue-QueryArghya-Queue-QueryFalse",
"value": {
"name": {
"defaultValue": "Arghya-Queue-Query",
"isExpression": false,
"displayName": "Process name"
}
},
"metadata": {
"BindingsVersion": "2.2"
}
},
{
"activityDisplayName": "Add Queue Item",
"activityId": "AddQueueItem_1",
"resource": "queue",
"key": "Arghya_query_queue",
"id": "queueArghya_query_queueArghya_query_queueFalse",
"value": {
"name": {
"defaultValue": "Arghya_query_queue",
"isExpression": false
}
},
"metadata": {
"BindingsVersion": "2.2"
}
}
]
}
{
"version": "2.0",
"resources": [
{
"activityDisplayName": "Get Asset",
"activityId": "GetRobotAsset_1",
"resource": "asset",
"key": "Asset",
"id": "assetAssetAssetFalse",
"value": {
"name": {
"defaultValue": "Asset",
"isExpression": false
}
},
"metadata": {
"BindingsVersion": "2.2"
}
},
{
"activityDisplayName": "Invoke Process",
"activityId": "InvokeProcess_1",
"resource": "process",
"key": "Arghya-Queue-Query",
"id": "processArghya-Queue-QueryArghya-Queue-QueryFalse",
"value": {
"name": {
"defaultValue": "Arghya-Queue-Query",
"isExpression": false,
"displayName": "Process name"
}
},
"metadata": {
"BindingsVersion": "2.2"
}
},
{
"activityDisplayName": "Add Queue Item",
"activityId": "AddQueueItem_1",
"resource": "queue",
"key": "Arghya_query_queue",
"id": "queueArghya_query_queueArghya_query_queueFalse",
"value": {
"name": {
"defaultValue": "Arghya_query_queue",
"isExpression": false
}
},
"metadata": {
"BindingsVersion": "2.2"
}
}
]
}
每个资源的字段
| 字段 | 用途 |
|---|---|
activityDisplayName | Studio Web 的资源面板中显示的人工可读标签。 |
activityId | SDK 用于在运行时查找绑定的稳定标识符。 |
resource | 资源类型:asset、bucket、queue、connection、process 等。 |
key | 资源在应用程序内的键或逻辑名称。 |
id | Studio Web 使用的组合标识符,用于保留和区分推送之间的绑定。 |
value.name.defaultValue | 在应用环境覆盖之前解析为的默认 Orchestrator 实体名称。 |
value.name.isExpression | true defaultValue 是要求值的表达式,则 false 是文字。 |
metadata.BindingsVersion | 每个资源的架构版本。 |
在推送时注册绑定
每 uip codedapp push 重新读取 bindings_v2.json。Studio Web 从推送的内容中加载文件,并在项目的“资源”面板下注册resources数组中的每个条目。id 不变的现有绑定保留其环境映射;在您映射新条目之前,它们显示为未映射。
如果您的推送内容中缺少bindings_v2.json ,则项目没有绑定,并且“资源”面板为空。
推送完成后,Studio Web 中的项目视图将确认同步并列出每个注册的资源类型:
将绑定映射到 Orchestrator 资源
对于每个注册的绑定,您(或解决方案的环境配置)需要选择匹配的 Orchestrator 资源,例如,将 Get Asset 绑定映射到所选文件夹中的特定凭据资产。
映射存储在解决方案环境配置中,而非存储在推送的来源中。这就是在开发、临时环境和生产环境中安全升级单个编码应用程序包的方式 — 每个环境都提供自己的解决方案。
有关管理环境的信息,请参阅关于解决方案。
最佳实践
activityDisplayName应是意图显示(Get Payment API Key,而不是Get Asset)— 它显示在“资源”面板和每个环境映射中。activityId在推送期间应保持稳定。Studio Web 依靠它(与id结合使用)来区分和保留推送之间的环境映射。- 最小的
bindings_v2.json更易于维护:在应用程序部署到的每个环境中,每个条目都将成为解决方案要求。 bindings_v2.json是源代码,应与应用程序的其余部分一起生存在 Git 中。