百积木文档
开发指南Bundle 生命周期插件开发

安装环境与插件请求

使用完整 Bundle 安装身份区分来源与目标环境,并按授权路由引用访问解析。

Bundle 顶层绑定引用稳定 pluginId,执行地址由插件目录管理。 生命周期协议 6.0.0 与引用协议 4.0.0 都携带同一个 installation

安装身份

{
  "installation": {
    "environmentKey": "consumer",
    "applicationRuntimeId": "runtime-a",
    "workspaceId": 42,
    "bundleInstallId": "installation-a",
    "bundle": {
      "environmentKey": "publisher",
      "bundleId": "sales"
    }
  }
}

installation.environmentKey 表示安装所在环境,installation.bundle.environmentKey 表示 Bundle 来源。 两者可以不同。applicationRuntimeIdworkspaceIdbundleInstallId 与来源 Bundle 共同定位安装; resources 或引用请求中的 resource 使用完整 ResourceLocator 定位获授权资源。 不得从资源来源、工作区、域名或 Runtime ID 推断安装环境,也不得只按业务实例 ID 接管其他安装的资源。

环境键是环境登记的规范字符串:2–64 个 ASCII 字符,首位为字母或数字,其余为字母、数字、下划线或连字符。 大小写保留,拒绝 URL、空白或自动补齐。完整请求见协议

按需访问

插件保存完整安装身份、资源 Locator 和已授权的属性名。需要业务调用时,向配置的平台入口发送 POST /module-plugin-manager/api/bundle-plugin/service-reference/resolve,原样携带 installationresourcepropertyKey 与引用协议版本。 平台从经过认证的插件凭据取得 pluginId;请求不能自行指定插件身份、目标服务或地址密钥。

平台依据安装环境登记完成路由,并在目标环境验证当前活动安装、插件绑定、资源、属性授权与当前引用。 安装环境字段只是定位信息,不是授权。未知环境、撤销、无权访问、身份不匹配或远端不可达都使本次解析失败。 插件不维护其他环境的地址或凭据,不尝试其他环境或使用之前保存的访问材料。

外部实例归属

创建、查询、修改和解除关联均校验完整安装身份。重新安装产生的新 bundleInstallId 不自动取得旧安装的外部实例。 显式传入已有实例编号时也必须验证其归属。历史关联必须由业务所有者根据可证明的安装记录迁移,不能按地址猜测归属。 安装与业务配置迁移完成后,再验证停止、卸载、重装以及跨环境隔离。

本页内容