添加指向JSON文件的Vercel环境变量



如何在Vercel部署服务器的安全位置添加秘密文件?

我正在部署Next.js项目到Vercel。该项目是一个连接到谷歌云平台的上传器。上传文件到存储桶

本地文件工作正常。GCP的凭据存储在本地JSON文件中,由GPC提供(在创建凭据时自动创建)。我使用.env文件来存储环境变量,包括这个本地文件的路径。

在Vercel上,我需要提供一个环境变量,以及提供这个json文件的路径。在Vercel部署服务器上,我可以在哪里存储这个JSON文件?

使用cli我试过了:

vercel secrets add GOOGLE_CLOUD_KEY_FILE --json path/to/file.json

vercel secrets add GOOGLE_CLOUD_KEY_FILE --local-file path/to/file.json

不起作用。cli返回一个关于太多参数的错误。在任何情况下,这些选项都没有文档化。

我还检查了文档和仪表板,寻找添加秘密的方法,但没有成功。

解决这个问题的一种方法是将字符串传递给env变量,然后在代码中将其解析为JSON。

  1. 删除换行符(在"内的除外)。可能是密钥的一部分。)从json文件。我在过去。

  2. 创建一个新的Vercel环境变量。要通过命令行执行此操作,请运行vercel env add SECRET_JSON。它会提示你? What’s the value of SECRET_JSON?。可以粘贴步骤1中的json内容。你也可以通过Vercel web ui来实现。如果您是在本地开发,您可以像这样将SECRET_JSON='JSON file content without line breaks'添加到.env.local

  3. 使用新的env变量解析为json。const secretJSON = JSON.parse( process.env.SECRET_JSON);

相关内容

  • 没有找到相关文章

最新更新