Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 动态更新谷歌云函数的变量_Google Cloud Platform_Google Cloud Functions_Environment Variables - Fatal编程技术网

Google cloud platform 动态更新谷歌云函数的变量

Google cloud platform 动态更新谷歌云函数的变量,google-cloud-platform,google-cloud-functions,environment-variables,Google Cloud Platform,Google Cloud Functions,Environment Variables,我目前有一个Firebase函数,要完成它的任务,它需要一个键。该密钥每4-20天更改一次,我希望能够让函数自己更新密钥。最好的方法是什么?要获得密钥,需要对第三方API进行缓慢的网络调用,因此我宁愿将其存储起来。目前,我有一个环境变量,当我发现函数失败时,我会自行更改它,但我更愿意让这个过程自动完成 我不认为我可以在运行时更改环境变量,所以在每次需要时,将值存储在数据库中并查询该值的唯一选项是什么?这似乎有点慢,但我不确定 是将值存储在数据库中并在每次需要时查询该值的唯一选项吗 云函数是无状态

我目前有一个Firebase函数,要完成它的任务,它需要一个键。该密钥每4-20天更改一次,我希望能够让函数自己更新密钥。最好的方法是什么?要获得密钥,需要对第三方API进行缓慢的网络调用,因此我宁愿将其存储起来。目前,我有一个环境变量,当我发现函数失败时,我会自行更改它,但我更愿意让这个过程自动完成

我不认为我可以在运行时更改环境变量,所以在每次需要时,将值存储在数据库中并查询该值的唯一选项是什么?这似乎有点慢,但我不确定

是将值存储在数据库中并在每次需要时查询该值的唯一选项吗

云函数是无状态的,不会保留与函数一起部署的代码和数据之外的任何信息。因此,您需要某种持久性存储来保存密钥。它不一定是一个数据库。它可以是您想要的任何持久性存储


您当然可以只读取一次键(从您选择存储它的任何位置),并将其存储在内存中(如果以前未读取),只要允许您在不刷新值的情况下继续使用它。内存确实会在每个服务器实例上保留一段时间,但不会在所有函数调用之间共享,因为每个函数调用都可能在不同的实例上运行。

GCP Secret Manager听起来是一个不错的选择。。。。使用此选项,您的云函数可以要求它输入密钥的当前值。您还可以使用API或脚本命令单独更新函数的键值。。。。。