安装环境与插件请求
使用完整 Bundle 安装身份区分来源与目标环境,并按授权路由引用访问解析。
Bundle 顶层绑定引用稳定 pluginId,执行地址由插件目录管理。
生命周期协议 6.0.0 与引用协议 4.1.0 都携带同一个 installation。
安装身份
{
"installation": {
"environmentKey": "consumer",
"applicationRuntimeId": "runtime-a",
"workspaceId": 42,
"bundleInstallId": "installation-a",
"installedBy": 25,
"bundle": {
"environmentKey": "publisher",
"bundleId": "sales"
}
}
}installation.environmentKey 表示安装所在环境,installation.bundle.environmentKey 表示 Bundle 来源。
两者可以不同。installedBy 属于安装目标环境,表示原安装人,不表示 Bundle 发布者。
平台从安装记录提供此值;升级、配置及重试不改变它。
applicationRuntimeId、workspaceId、bundleInstallId 与来源 Bundle 共同定位安装;
resources 或引用请求中的 resource 使用完整 ResourceLocator 定位获授权资源。
不得从资源来源、工作区、域名或 Runtime ID 推断安装环境,也不得只按业务实例 ID 接管其他安装的资源。
环境键是环境登记的规范字符串:2–64 个 ASCII 字符,首位为字母或数字,其余为字母、数字、下划线或连字符。 大小写保留,拒绝 URL、空白或自动补齐。完整请求见协议。
生命周期解析与本地使用
插件保存完整安装身份、资源 Locator 和已授权的属性名。在安装、升级或配置的相关生命周期中,向配置的平台入口发送
POST /bundle-plugin-manager/api/service-reference/resolve,原样携带 installation、resource、propertyKey 与引用协议版本。
平台入口配置不包含服务前缀,见API 基地址与完整路径。
平台从经过认证的插件凭据取得 pluginId;请求不能自行指定插件身份、目标服务或地址密钥。
平台依据安装环境登记完成路由,并在目标环境验证当前活动安装、插件绑定、资源、属性授权与当前引用。 安装环境字段只是定位信息,不是授权。未知环境、撤销、无权访问、身份不匹配或远端不可达都使本次解析失败。 解析成功后,把该安装的地址与 Token 持久化为受保护的运行配置;日常业务调用和进程重启使用该配置,不再回源解析。 生命周期解析失败不能切换到其他环境或把失败候选当作已生效配置;此前已生效且未撤销的配置不因一次更新失败被清空。
外部实例归属
创建、查询、修改和解除关联均校验完整安装身份。重新安装产生的新 bundleInstallId 不自动取得旧安装的外部实例。
显式传入已有实例编号时也必须验证其归属。历史关联必须由业务所有者根据可证明的安装记录迁移,不能按地址猜测归属。
安装与业务配置迁移完成后,再验证停止、卸载、重装以及跨环境隔离。