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

环境变量格式化问题的云函数app.yaml文件

史默
2023-03-14

我试图使用“-env vars file”标志部署一个GCP云函数,并指定一个YAML文件来包含变量。我的'app-dev.yaml'yaml文件如下所示:

runtime: python37
api_version: '1'
threadsafe: 'true'

env_variables:
  VAR_1: 'var_1_value'
  VAR_2: 'var_2_value'
  VAR_3: 'var_3_value'

我的gCloud函数部署如下:

gcloud functions deploy my_cloud_function --env-vars-file app-dev.yaml --runtime python37 --trigger-resource my-project.appspot.com --trigger-event google.storage.object.finalize

现在,当我运行这个命令时,我得到了这个错误:

gcloud崩溃(ValidationError):字段值的预期类型,找到{'VAR_1':'VAR_1_value','VAR_2':'VAR_2_value','VAR_3':'VAR_3_value'(类型<代码>

但是,根据这个谷歌的例子,app-dev.yaml格式应该可以。

感谢您的帮助。谢谢

共有2个答案

湛文乐
2023-03-14

所有值必须是字符串,例如:

错误的值:

VAR_1: 3.1416

正确值:

VAR_1: "3.1416"
雷方伟
2023-03-14

你提供的链接指的是应用程序。yaml文件在App Engine中需要,与此无关。

根据这里的云功能文档,。环境。yaml文件应具有以下格式

VAR_1: var_1_value
VAR_2: var_2_value
VAR_3: var_3_value
 类似资料:
  • 我需要将API密钥和其他敏感信息存储在中,作为在GAE上部署的环境变量。这样做的问题是,如果我将推送到GitHub,这些信息将变得公开(不好)。我不想将信息存储在数据存储中,因为它不适合项目。相反,我想在应用程序的每个部署上从中列出的文件中交换值。 这是我的应用程序。yaml文件: 有什么想法吗?

  • 环境变量 Vite 在一个特殊的 import.meta.env 对象上暴露环境变量。这里有一些普遍适用的内建变量: import.meta.env.MODE: string 应用运行基于的 模式。 import.meta.env.BASE_URL: string 应用正被部署在的 base URL。它由 base 配置项 决定。 import.meta.env.PROD: boolean 应用是

  • 你可以替换你的项目根目录中的下列文件来指定环境变量: .env # 在所有的环境中被载入 .env.local # 在所有的环境中被载入,但会被 git 忽略 .env.[mode] # 只在指定的模式中被载入 .env.[mode].local # 只在指定的模式中被载入,但会被 git 忽略 一个环境文件只包含环境变量的“键

  • 我试图在Ubuntu64bit(vm)的最新版本中运行一个类似的hadoop集群: 这是我得到的输出: 第390行: 为什么我会收到这条信息?/usr/lib/jvm/java-6-sun/bin/java:没有这样的文件或目录

  • 本文向大家介绍探究Laravel使用env函数读取环境变量为null的问题,包括了探究Laravel使用env函数读取环境变量为null的问题的使用技巧和注意事项,需要的朋友参考一下 发现问题 在 Laravel 项目中,如果执行了 php artisan config:cache 命令把配置文件缓存起来后,在 Tinker 中(Tinker 是 Laravel 自带的一个交互式命令行界面),使用

  • 问题内容: 我已经在app.yaml中指定了我的环境变量,当我在本地计算机上运行它时会获取它,但是一旦部署它,就不会获取它。 这是我的设置方法: 而且我正在使用检索密钥,并且当我在本地运行它时它可以工作,但是在Google App Engine上部署时却无法工作。 问题答案: 它在官方文档中没有记录:定义环境变量,但是在调用函数之前不会设置生产环境中定义的环境变量。仅在处理第一个请求之前设置它们。