title | description | position | category |
---|---|---|---|
Registry 模型 |
Registry 模型 |
4 |
Registry模型 |
Registry 模型部分介绍了 Serverless Registry Model (SRM) 的建设模型,包括了:
Serverless Reigstry 需要获得并存储 Package 以下信息:
数据名 | 类型 | 描述 |
---|---|---|
Name | String | Package名称 |
Type | String | Component/Application |
Version | String | Package版本,需要符合主版本号.子版本号.修正版本号 格式 |
PublishTime | Number | 发布时间戳(秒) |
VersionBody | String | 版本对应的描述 |
除了以上基础规范,Serverless Registry 的提供者/组织还可以根据具体需求,存储更多的数据/信息,包括不限于用于鉴权使用的 Package 贡献者id,用户确定 Package 状态的status等;
Package 开发者和 Serverless 开发者在发布 Package 以及使用 Package 的流程可以简化为:
通过上述流程,可以看到对于 Package 开发者而言,需要按照Serverless Package Model 规范提供相对应的 Package 到 Serverless Registry,而对于 Serverless 开发者而言,则需通过 Serverless Devs 开发者工具 工具中,进行 Package 的下载和使用。在整个过程中,涉及到的核心规范如下:
- Serverless Registry 在接受 Package 开发者贡献的组件与应用时,接受且只接受标准zip格式的压缩包,且压缩包中包括的代码等内容符合且必须符合符合 Serverless Package Model 规范;
- 对于发布在 Serverless Registry 上的应用和组件,Serverless Registry 需要按照以下规范提供对应 Package 版本查询功能以及相对应的下载功能:
- 全部版本查询:
- Method:GET
- URI:{package-name}/releases
- Response:
{ "tag_name": "1.1.13", "created_at": "2021-01-04T07:41:23Z", "zipball_url": "https://api.github.com/repos/Serverless-Devs/Serverless-Devs/zipball/1.1.13", "body": "- 中文\r\n - 修复边界条件下临时密钥获取失败的BUG\r\n- English: \r\n - Fix the bug that the temporary key acquisition fails under boundary conditions" }
- 最新版本查询:
- Method:GET
- URI:{package-name}/releases/latest
- Response:
{ "tag_name": "1.1.13", "created_at": "2021-01-04T07:41:23Z", "zipball_url": "https://api.github.com/repos/Serverless-Devs/Serverless-Devs/zipball/1.1.13", "body": "- 中文\r\n - 修复边界条件下临时密钥获取失败的BUG\r\n- English: \r\n - Fix the bug that the temporary key acquisition fails under boundary conditions" }
- Package下载:
- Method:GET
- URI:{package-name}/zipball/{version}
- Response:组件压缩包
- 全部版本查询:
除了以上基础规范,Serverless Registry 的提供者/组织还可以根据具体需求,提供 Package 更新,删除以及权限变更等相关的额外能力。