原因
在控制台修改了配置, 表示线上配置已经生效, 使用 s deploy --use-local, 这个时候的一切配置以本地的 s.yaml 为准, 所以出现线上配置被冲掉覆盖的情况, 需要重新配置
Serverless Devs是通过资源配置文件即s.yaml定义Serverless资源。其包含函数计算服务、函数、触发器以及自定义域名等资源。
解决方案
如果在控制台修改配置后, 在本地的 s.yaml文件中同步配置, 也可在控制台服务详情或函数详情中导出当前配置来覆盖本地的 s.yaml。此回答整理自钉群:阿里函数计算官网客户。
在函数计算中,每次部署代码后,如果函数的配置发生了变化,可能需要重新配置。这是因为函数计算在调用代码时会生成一个新的函数实例。在新的函数实例中,你需要重新配置函数以适应新的代码和配置。
在函数计算中,每次部署代码后对函数配置的变化需要重新配置的原因是函数计算采用了“无状态”的设计理念。这意味着每次部署新版本的代码时,函数会被重新创建,并且会完全替换之前的函数实例。
由于函数计算的无状态特性,函数实例不会保持任何状态或配置信息。因此,当您更新函数代码后,之前的函数实例将被销毁并丢失其状态和配置。而新版本的函数实例是基于最新的代码进行创建的,它们并不知道之前的配置。
因此,当您部署新版本的代码后,需要重新配置函数的原因是为了确保新创建的函数实例具有正确的配置信息。这样可以避免问题和错误发生,同时也能确保函数按预期工作。
可能需要注意的是,与函数配置相关的数据应该存储在持久化的外部存储中,例如对象存储服务(如阿里云 OSS)或数据库(如阿里云 RDS),而不是依赖函数计算本身的配置。这样即使重新部署函数或更换函数实例,配置数据仍然可靠地保存在外部存储中,并可以在需要时进行访问和使用。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。