FileBased
data class FileBased(val file: String = DEFAULT_FILE, val fromResource: String? = null) : DeviceInfoConfiguration(source)
通过指定的本地文件来记录设备信息。
{
"type": "file_based",
"file": "device.json",
"fromResource": null
}
Content copied to clipboard
与 Resource 不同的是,FileBased 是基于 DeviceInfo.loadAsDeviceInfo 的, 其最终结果与行为会类似于使用 BotConfiguration.fileBasedDeviceInfo。
FileBased 仅支持 本地文件,且所需要读取的设备信息文件的格式也与 DeviceInfo 存在些许不同,它们是存在"版本号"的信息格式,因此 FileBased 的所需格式与 Resource 的所需格式可能并不通用。
好吧,骗你的。FileBased 虽然"仅支持"本地文件,但是它提供了一个可选参数 fromResource 来允许在读取文件之前进行检测:当 file 处的文件不存在时,会尝试从资源路径中的 fromResource 文件复制到 file 处。 如果此行为尝试失败,则会输出警告日志,但不会终止流程。
与 BotConfiguration.fileBasedDeviceInfo 不同的是,FileBased 的属性 file 不会 被限制在 BotConfiguration.workingDir 中,而是直接使用。
file 和 fromResource 支持占位符替换,例如:
{
"type": "file_based",
"file": "$CODE$-device.json",
"fromResource": "$CODE$-device.json",
}
Content copied to clipboard