You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shiny应用manifest.json文件中checksum字段工作原理及配置疑问

checksum字段核心作用

你提到的checksum是Posit Connect(原RStudio Connect)部署用manifest.json的标准字段,本质是对应文件的MD5哈希值,核心功能如下:

  • 传输完整性校验:部署阶段会对比本地文件计算出的哈希值与manifest.json中登记的checksum,确认文件在打包、上传过程中没有发生损坏或篡改
  • 增量部署优化:如果服务端已经存储过对应checksum的文件,会直接复用已有文件,不需要重复上传,大幅提升大体积资源的部署效率
  • 运行时一致性校验:应用/报告启动前会校验文件哈希值是否与manifest登记值匹配,避免调用到被意外修改的错误版本文件
新增报告的配置要求

你给出的复用旧checksum的配置不符合要求:

"AQ_Report_Clean.pdf": { "checksum": "ed1521f080df2ef2e83a7d1c5fb944c1" }

checksum与文件内容强绑定,而非和文件名绑定:

  • 如果是内容完全相同的文件,哪怕修改了文件名,checksum可以保持一致
  • 如果是不同内容的新报告,必须使用该报告文件对应的专属哈希值,不能复用其他文件的checksum

强制复用旧checksum会直接触发部署校验失败,就算绕过校验部署成功,运行阶段也会因为文件校验不匹配无法正常加载报告。

正确配置方法

不需要手动计算填写checksum:使用官方rsconnect包的部署函数(如rsconnect::deployApp()、rsconnect::deployDoc())时,会自动扫描所有待部署文件、计算每个文件的MD5值,自动生成完整正确的manifest.json。
如果需要手动生成,可调用R内置函数tools::md5sum("本地新报告文件路径.pdf")获取对应文件的哈希值,替换到checksum字段即可。

内容的提问来源于stack exchange,提问作者firmo23

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 02:24:02