百积木文档
功能指南

基础能力与 Resource Binding

了解当前工作区可申请的数据库与浏览器能力,以及申请、绑定、鉴权和生命周期边界。

基础能力是由平台统一提供、可以被项目、智能体或自动化复用的工作区资源。Resource Binding(资源绑定) 用于让一个消费者选择已经创建的资源;它保存稳定引用,不复制资源本身,也不把密码、Token 或连接串写进 应用配置。

当前公开、可由工作区申请或创建的基础能力只有两类:数据库服务 workspace-db-service 和浏览器会话服务 browser-session。具体工作区是否可用、当前方法名、参数、规格、价格与配额,必须从该工作区当前 Runtime 的服务和 methodDefinition 实时读取。

当前能力

能力Runtime 服务申请或创建的资源绑定时使用的身份
数据库workspace-db-service共享测试数据库,或付费独享 Database Instance 中的 Database Profile(Logical Database)profileRef
浏览器browser-sessionBrowser Profile,以及基于 Profile 按需创建的 Browser SessionBrowser 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 两层组成:

  1. 使用 createBrowserProfile 创建或按业务规则复用 Profile。Profile 保存需要延续的浏览器上下文。
  2. 使用 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,或 listDatabaseInstancePlanscreateDatabaseInstanceOrdercreateLogicalDatabase;浏览器按目标读取 createBrowserProfilecreateBrowserSession。请求体只使用返回的 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

本页内容