当前位置: 首页 > 知识库问答 >
问题:

将API密钥作为环境变量添加到Google App Engine的最佳方式是什么?[重复]

公孙盛
2023-03-14

我有一个应用程序引擎,它运行一个flask应用程序,该应用程序会命中一个APIendpoint,并且需要一个API密钥。我想把它添加到应用程序中的一个环境变量中。yaml文件,但它将在git中可见
我不想使用secrets manager,因为这个应用程序引擎会被频繁触发,这意味着会产生很多我希望避免的成本。所以这个解决方案行不通
有没有什么方法可以将环境变量添加到应用程序引擎中,就像我们可以为云功能和云运行添加环境变量一样?

共有1个答案

方韬
2023-03-14

即使你不主要想要,秘密经理是解决方案!

首先,Secret Manager访问Secret并不昂贵(10000次访问0.03美元)。这意味着你只需要启动10000个应用引擎实例就可以支付0.03美元!

为什么这么少?因为,当你读一次这个秘密,你的API密钥,你可以把它保存在一个全局变量(单例模式)的内存中。这样,在实例启动时只加载一次,然后多次使用,直到实例卸载为止。

注意:如果你每天启动300个实例,其他成本会比0.03美元的秘密管理器高得多

 类似资料:
  • 事实上中的变量比变量慢,这是众所周知的,并且已经在本网站的不同问题中讨论过了。然而,我仍然没有找到答案的一件事是,使用代码中不同函数内部使用的全局变量(如常量)的最佳和最快的方法是什么? 到目前为止,我能找到的最佳解决方案是定义一个函数,在这里我将全局变量分配给局部变量。 输出: 但这是一个丑陋的解决方案,而且比使用局部变量还要慢。在函数内部使用全局/常量变量等效的最著名的方法是什么,而不必将它们

  • 问题内容: 我正在使用Java scrypt库 进行密码存储。当我加密事物时,它需要一个和值,其文档称为“ CPU成本”,“内存成本”和“并行化成本”参数。唯一的问题是,我实际上不知道它们的具体含义,或者对他们有什么好的价值。也许它们以某种方式对应于Colin Percival原始应用程序上的-t,-m和-M开关? 有人对此有任何建议吗?该库本身列出了N = 16384,r = 8和p = 1,但

  • 问题内容: 这个问题已经在这里有了答案 : type()和isinstance()有什么区别? (7个答案) 7年前关闭。 我需要知道Python中的变量是字符串还是字典。以下代码有什么问题吗? 更新 :我接受了avisser的回答(尽管如果有人解释了为什么首选,我会改变主意)。 但是要感谢Nakedfanatic提醒我,使用dict(作为案例陈述)通常比使用if / elif / else系列更

  • 变量是计算机系统用于保存可变值的数据类型,我们可以直接通过变量名称来提取到对应的变量值。在 Linux 系统中,环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的家目录(HOME)、邮件存放位置(MAIL)等。 值得一提的是,Linux 系统中环境变量的名称一般都是大写的,这是一种约定俗成的规范。 我们可以使用 env 命令来查看到 Linux 系统中所有的环境变量,执行命令如下: [r

  • 问题内容: 我正在尝试通过“构建环境”部分中的选项在jenkins中设置密码,该选项可在我的测试中用于获取和使用密码。这是我正在检查“将密码作为环境变量注入到内部版本”的选项。问题是种子作业运行后,我将失去这些值。因此,我的添加值在种子作业运行后消失了。有人遇到过这个问题吗?如何使其永久化,以便每次我都可以在测试代码中检索到那些密码时? 问题答案: @daspilker和@JesseGlick,非

  • 问题内容: 我想创建一个指令,该指令根据来自服务的值来检查dom中是否应包含元素(例如,检查用户角色)。 相应的指令如下所示: 最后,该元素具有ng-if属性,但由于某种原因它不适用于该元素,并且仍然存在于dom中。因此,这显然是错误的方法。 这个小提琴显示了问题:http : //jsfiddle.net/L37tZ/2/ 谁能解释为什么会这样?还有其他方法可以实现类似的行为吗?应该考虑现有的n