3

目前在 AWS 中部署 PostgREST。当我使用 Fargate 并在连接字符串的环境变量中硬编码类型时,机器就像一个魅力。但是我最近用秘密替换了这些值。在秘密中,我将整个字符串复制粘贴到值中,并在环境变量中将源从“Value”设置为“ValueFrom”。

所以现在的价值是:

postgres://<myuser>:<mypass>@<amazon-rds-instance>:5432/<db>

当我直接在环境变量中使用这个连接字符串时,我可以轻松连接,所以我知道信息是正确的。

日志返回以下错误:

{"details":"missing \"=\" after \"{\"postgrest_db_connection\":\"postgres://myuser:mypass@amazon-rds-instance:5432/db\"}\" 在连接信息字符串中\n","code":"","message":"数据库连接错误"}

我还检查了字符串中没有需要转义的字符。我在这里能错过什么?

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

2

所以我想通了。不幸的是,这条线是:

仅支持将机密的全部内容作为环境变量注入。目前不支持指定特定的 JSON 密钥或版本。

这意味着,每当您在环境变量中使用密钥作为 ValueFrom 设置时(使用 Fargate 时),整个密钥的值都会被复制粘贴。

我使用 PostgREST 模式变量的秘密对此进行了测试。我找回了价值:

{'PGRST_SCHEMA_URL': 'public'}

虽然我期待它只是:

public

这也是配置变差的原因。感谢大家的搜索。

于 2020-03-04T08:14:55.210 回答