Skip to content

Resource Service ​

Resource Service 是临时媒体资源的唯一所有者。当前只接受 JPEG、PNG 和 WebP,不提供长期资产存储。

上传校验 ​

  • multipart 字段必须名为 file。
  • 文件字节数不得超过 MAX_RESOURCE_UPLOAD_BYTES。
  • 声明 MIME 必须与 Sharp 识别的内容格式一致。
  • 图片宽高必须可读取,像素总数不得超过 MAX_RESOURCE_PIXELS。
  • 服务总占用不得超过 RESOURCE_CAPACITY_BYTES。

元数据 ​

上传成功返回:

json
{
  "resourceToken": "<43-character-base64url-token>",
  "expiresIn": 3000,
  "mediaType": "image/png",
  "size": 184220,
  "width": 1920,
  "height": 1080,
  "status": "READY"
}

Token 由 32 个随机字节编码为 base64url,不包含文件名、路径或业务信息。

公开与内部接口 ​

公开上传和删除通过 Markify API 代理。/internal/v1/resource/* 只允许 API 和 Worker 在私有网络中调用,提供元数据、内容流、批量 finalize、rollback 和 consume。

存储模型 ​

  • 文件写入容器 tmpfs。
  • 元数据只存在于进程内。
  • TTL 固定,读取不续期。
  • 服务重启或容器重建后资源允许全部丢失。
  • 日志目录是持久化 bind mount,但不能用于恢复资源状态。

健康端点 ​

text
GET /resource/v1/health/live
GET /resource/v1/health/ready

Markify 文档与协议随实现同步演进。