Dialogflow ES内联编辑器显示默认fulfillment代码及旧代码恢复咨询
Dialogflow ES Inline Editor自定义代码丢失问题解答
- 关于同类问题的出现情况
大量使用过Dialogflow ES Inline Editor做fulfillment开发的开发者都遇到过相同问题,触发场景集中在关联Google Cloud项目的结算状态变更、Cloud Functions资源长时间无活跃被系统回收两类。 - 免费版是否是问题诱因
Dialogflow免费版本身不会直接导致代码丢失,但Inline Editor底层完全依托Google Cloud的Cloud Functions服务运行,免费版对应的Cloud项目如果长期无活跃调用、或出现结算异常,Cloud Functions的关联资源会被系统自动清理,最终导致Inline Editor代码被重置为默认模板。 - 结算账户相关疑问
你的推测正确:即使Dialogflow本身用量在免费额度范围内,Inline Editor依赖的Cloud Functions服务要求对应Google Cloud项目必须绑定有效结算账户,这是Google Cloud服务的通用规则,避免用户超额使用后无计费主体。
结算账户关闭后,系统会在7-30天的缓冲期后自动关停项目下所有Cloud Functions实例,同时清除非默认的代码配置,这是你当前遇到问题的核心原因。重新开通结算仅能恢复后续Inline Editor的使用权限,无法直接找回之前的自定义代码。 - 旧自定义代码恢复方案
如果你没有本地备份或版本库存储的代码,恢复概率极低,Dialogflow侧不会单独备份用户的Inline Editor自定义代码,结算关停后Cloud Functions的代码存储资源通常会被直接释放。
你可以尝试登录对应Google Cloud项目的Cloud Functions控制台,查找默认命名为dialogflowFirebaseFulfillment的函数,查看是否保留了历史版本记录:如果关停时间不足30天,部分区域的Cloud项目可能会保留函数的历史版本,你可以从历史版本中导出原有代码。
内容的提问来源于stack exchange,提问作者Boštjan
相关产品推荐
相关产品推荐

