程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何从 Google Cloud Function 的代码中更改环境变量的值?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何从 Google Cloud Function 的代码中更改环境变量的值??

开发过程中遇到如何从 Google Cloud Function 的代码中更改环境变量的值?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何从 Google Cloud Function 的代码中更改环境变量的值?的解决方法建议,希望对你解决如何从 Google Cloud Function 的代码中更改环境变量的值?有所启发或帮助;

我正在努力了解如何为 Google Cloud Functions 正确使用环境变量。

我已经部署了一个函数,我想写入和读取它的环境变量(例如:XXX)。

if not os.environ.get("XXX"):
    print("XXX_SET_DEFAulT")
    os.environ.setdefault("XXX","1")
else:
    print("XXX_SET")
    os.environ["XXX"] = "1"
print("XXX_GET",os.environ["XXX"])

触发该函数后,运行时环境变量列表中初始设置的值没有变化。

然行为有点不同,因为当我使用带有虚拟值的函数部署变量时,我可以在日志中看到 XXX_SET 字符串,但是当我不先部署变量时,对于第一次运行我可以看到 XXX_SET_DEFAulT,然后第二次运行有 XXX_SET

我已经使用(以及从 UI)设置了变量:

gcloud functions deploy my_func \
    ...
    --set-env-vars XXX=xxx

问题

  • 是否可以通过 Python 代码以某种方式设置此变量?
  • 日志中有什么不同(XXX_SET_DEFAulT,XXX_SETXXX_SET,XXX_SET
  • 为什么这个变量的值不是从 python 代码中设置的?
    • 它是否与函数的多个实例化(在需要时)有某种关系?
  • Runtime environment variablesBuild environment variables 有什么区别?
    • 我可以以某种方式在 Build environment variables 之间部署变量吗?
  • 在 Google 的云函数中使用环境变量的最佳做法是什么?

解决方法

不打算更改 GCF 中的环境变量。他们在那里设置配置。

以下是一些基础知识:

  • 函数在 (docker) 容器中运行。这些可确保它们始终在清晰一致的环境中运行。
  • Build environment variables 用于构建容器时。除非您对构建方式感到困惑,否则您将不需要这些。
  • Runtime environment variables 用于函数在容器中运行的时间。这些是您可以使用代码访问的内容。

这意味着,每次运行函数时,它都会获得一个新容器,所有变量都设置为您在配置中设置的任何内容。

现在,后台的 GCF 可能会重用一些容器,您可能会看到一些持久性,但您不能依赖于此。

总结:

  • 环境变量可为您的代码提供简单的配置选项,无需更改代码即可更改。
  • 一般来说,最好将它们视为只读,即使您可以更改它们,但当您的代码运行的容器被丢弃时,这些更改也会被丢弃。
  • 如果您想在函数之间保留数据,请使用数据库。

大佬总结

以上是大佬教程为你收集整理的如何从 Google Cloud Function 的代码中更改环境变量的值?全部内容,希望文章能够帮你解决如何从 Google Cloud Function 的代码中更改环境变量的值?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。