基础能力与 Resource Binding
了解当前工作区可申请的数据库与浏览器能力,以及申请、绑定、鉴权和生命周期边界。
基础能力是由平台统一提供、可以被项目、智能体或自动化复用的工作区资源。Resource Binding(资源绑定) 用于让一个消费者选择已经创建的资源;它保存稳定引用,不复制资源本身,也不把密码、Token 或连接串写进 应用配置。
当前公开、可由工作区申请或创建的基础能力只有两类:数据库服务 workspace-db-service 和浏览器会话服务
browser-session。具体工作区是否可用、当前方法名、参数、规格、价格与配额,必须从该工作区当前 Runtime
的服务和 methodDefinition 实时读取。
当前能力
| 能力 | Runtime 服务 | 申请或创建的资源 | 绑定时使用的身份 |
|---|---|---|---|
| 数据库 | workspace-db-service | 共享测试数据库,或付费独享 Database Instance 中的 Database Profile(Logical Database) | profileRef |
| 浏览器 | browser-session | Browser Profile,以及基于 Profile 按需创建的 Browser Session | Browser Profile ID;精确字段以消费者方法定义为准 |
数据库服务
数据库服务提供两条路径:
- 开发和测试可以申请共享测试数据库。
createSharedTestDatabase会创建可绑定的数据库 Profile,并返回profileRef;首次返回的 Profile Token 必须放入安全的 Secret 存储。 - 需要独享实例时,先通过
listDatabaseInstancePlans读取实时规格与积分价格,再使用返回的offerId调用createDatabaseInstanceOrder。实例可用后,通过createLogicalDatabase创建 Database Profile。
应用绑定的是 Database Profile 的 profileRef,不是云厂商实例地址,也不是订单或 Database Instance ID。
创建绑定不会再次购买实例;解除绑定也不会自动删除逻辑数据库或实例。Hosted Service 的详细资源和计费
关系见 Project、Environment、Slot、Endpoint 与数据库。
浏览器会话服务
浏览器能力由 Browser Profile 和 Browser Session 两层组成:
- 使用
createBrowserProfile创建或按业务规则复用 Profile。Profile 保存需要延续的浏览器上下文。 - 使用
createBrowserSession从目标 Profile 创建一次运行会话;会话按需启动和关闭。
Browser Session 不是 Redis 一类长期基础设施实例,也没有独立购买流程。消费者应保存 Profile 的稳定身份, 在需要操作浏览器时再创建 Session;不要把 viewer URL、临时会话 ID 或登录态当成长期资源绑定。
需要用浏览器录制网页操作时,继续阅读 浏览器录制生成个性化 Bundle。
申请与绑定流程
1. 确认账号和工作区
baijimu auth status --verify
baijimu workspace current申请和绑定都作用于当前工作区。不要从页面 URL、历史日志或另一个工作区复制资源 ID。
2. 从当前 Runtime 发现服务
baijimu runtime services list <WORKSPACE_ID> \
--keyword workspace-db-service \
--json
baijimu runtime services list <WORKSPACE_ID> \
--keyword browser-session \
--json保存返回的准确 businessId。服务不可见时,先确认当前工作区、默认 Runtime 和已安装版本,不要绕过 CLI
调用内部地址,也不要把其他工作区的 businessId 写成默认值。
3. 读取目标方法定义
baijimu runtime service get <WORKSPACE_ID> <BUSINESS_ID> \
--method <METHOD_NAME> \
--json数据库按目标读取 createSharedTestDatabase,或
listDatabaseInstancePlans、createDatabaseInstanceOrder、createLogicalDatabase;浏览器按目标读取
createBrowserProfile 和 createBrowserSession。请求体只使用返回的 methodDefinition 中存在的字段。
4. 创建资源
把按方法定义准备的参数保存到文件,再调用服务:
baijimu runtime service call <WORKSPACE_ID> <BUSINESS_ID> <METHOD_NAME> \
--params @request.json \
--json数据库付费路径必须先读取实时目录,并把目录返回的 offerId 用于下单;不得在脚本中固定 SKU、价格、地域
或云厂商规格。浏览器路径先取得 Profile,再用该 Profile 创建 Session。
5. 保存稳定引用并完成绑定
- 数据库只把
profileRef交给支持数据库 Provider 的消费者;密码和 Profile Token 进入 Secret。 - 浏览器只把 Browser Profile ID 交给明确支持浏览器能力的消费者;Session 由运行任务按需创建。
- 绑定前校验资源与消费者属于同一工作区,并确认资源仍处于可用状态。
- 绑定后执行一次真实功能验证:数据库建立连接并完成无副作用查询;浏览器创建 Session、打开测试页面, 然后正常关闭会话。
消费者支持的绑定类型以它自己的当前方法定义为准。看到基础能力不代表任意 Project、应用、智能体或工作流 都能自动绑定该能力。
Resource Binding 不是什么
- 不是资源申请。 先由能力 Provider 创建资源,再由消费者保存引用;绑定本身不创建数据库实例或 Browser Profile。
- 不是凭据容器。 绑定保存引用,Secret 保存敏感值。连接串、密码、Profile Token、Cookie 和临时 URL 不得进入项目 Git、Bundle Manifest、Artifact 或普通日志。
- 不是方法授权。 平台应用的
methodDefinitions描述允许调用哪些 Runtime 方法,和选择哪一个资源是 两个不同边界。 - 不是资源所有权转移。 解除绑定、停止 Environment 或结束 Session 不会自动删除 Provider 拥有的 长期资源;删除必须走该资源自己的生命周期。
当前不提供 Redis 资源
平台当前没有面向工作区公开的 Redis 申请、购买或 Resource Binding 产品。平台内部服务可能使用 Redis, 私有部署环境也可能要求环境所有者准备 Redis,但这些都属于平台或部署环境基础设施,不是用户可以在 工作区申请的基础能力。
同样,MySQL、对象存储、Kubernetes、网络和负载均衡等私有部署资源也不能因为出现在环境清单中,就写成 工作区可申请产品。Hosted Service Slot 是后端应用的托管计算产品,也不属于这里的通用基础能力目录。
以当前 Runtime 为准
本文说明稳定的产品边界和标准流程。能力是否可见、方法参数、规格、价格、配额和消费者支持范围都可能随
工作区安装版本变化;执行前始终读取当前 Runtime 服务及目标方法的 methodDefinition。