首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >prisma容器中的AWS ECS错误-环境变量PRISMA_CONFIG

prisma容器中的AWS ECS错误-环境变量PRISMA_CONFIG
EN

Stack Overflow用户
提问于 2019-09-17 01:59:01
回答 2查看 298关注 0票数 1

我是亚马逊网络服务的新手,我正在尝试使用ECR和ECS在亚马逊网络服务上部署我的本地web应用程序,但在运行集群时遇到了问题,它在prisma容器中抛出了关于PRISMA_CONFIG环境变量的错误。

在我的本地环境中,我使用docker使用nodejs、prisma和mongodb构建应用程序,它工作得很好。

现在在ECS上,我创建了一个任务定义,并且对于prisma容器,我尝试从本地docker-compose.yml文件中复制yml配置以使其工作。

有一个名为" Environment“的字段,我已经在环境变量中输入了值,它就是不工作,并在集群运行时抛出错误,然后任务停止。

yml在多行中,但输入框仅支持字符串

变量key是PRISMA_CONFIG,下面是我已经尝试过的值

代码语言:javascript
复制
| port: 4466\n databases:\n default:\n connector: mongo\n uri: mongodb://prisma:prisma@mongo\n
代码语言:javascript
复制
| \nport: 4466 \ndatabases: \ndefault: \nconnector: mongo \nuri: mongodb://prisma:prisma@mongo
代码语言:javascript
复制
|\nport: 4466\n databases:\n default:\n connector: mongo\n uri: mongodb://prisma:prisma@mongo
代码语言:javascript
复制
\nport: 4466\n databases:\n default:\n connector: mongo\n uri: mongodb://prisma:prisma@mongo
代码语言:javascript
复制
port: 4466\n databases:\n default:\n connector: mongo\n uri: mongodb://prisma:prisma@mongo\n

和错误

代码语言:javascript
复制
Exception in thread "main" java.lang.RuntimeException: Unable to load Prisma config: java.lang.RuntimeException: No valid Prisma config could be loaded.
代码语言:javascript
复制
expected a comment or a line break, but found p(112)
代码语言:javascript
复制
expected chomping or indentation indicators, but found \(92)

我希望所有容器都能正常运行,但实际结果是容器在运行一分钟后就停止了。

请帮帮忙。或者建议部署到AWS的其他方法?

非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-29 01:39:23

我一直在寻找一种类似的解决方案来加载没有多行字符串的prisma配置。

有些存储库在没有prisma配置的情况下单独加载prisma环境变量:

查看此存储库,例如:https://github.com/akoenig/prisma-docker-compose/blob/master/.prisma.env

在这里,akoenig使用了以下使用env_file的环境变量。因此,我假设您可以分别传入这些环境变量,以实现prisma正在寻找的目标。

代码语言:javascript
复制
# CONTENTS OF env_file

PORT=4466
SQL_CLIENT_HOST_CLIENT1=database
SQL_CLIENT_HOST_READONLY_CLIENT1=database
SQL_CLIENT_HOST=database
SQL_CLIENT_PORT=3306
SQL_CLIENT_USER=root
SQL_CLIENT_PASSWORD=prisma
SQL_CLIENT_CONNECTION_LIMIT=10
SQL_INTERNAL_HOST=database
SQL_INTERNAL_PORT=3306
SQL_INTERNAL_USER=root
SQL_INTERNAL_PASSWORD=prisma
SQL_INTERNAL_DATABASE=graphcool
CLUSTER_ADDRESS=http://prisma:4466
SQL_INTERNAL_CONNECTION_LIMIT=10
SCHEMA_MANAGER_SECRET=graphcool
SCHEMA_MANAGER_ENDPOINT=http://prisma:4466/cluster/schema
#CLUSTER_PUBLIC_KEY=
BUGSNAG_API_KEY=""
ENABLE_METRICS=0
JAVA_OPTS=-Xmx1G

这是针对mySQL数据库的。您需要对此进行调整以适应您的价值观。但从理论上讲,您应该能够在AWS的GUI中将这些变量逐个传递到单个变量中。

我也在Prisma Slack频道上问过这个问题,我在等着看他们是否有其他建议:https://prisma.slack.com/archives/CA491RJH0/p1569689413383000

让我知道进展如何。

票数 0
EN

Stack Overflow用户

发布于 2019-11-19 18:01:44

这里不是专家,但是,如果您设置了一个环境变量PRISMA_API_MANAGEMENT_SECRET,那么您应该在配置fargate实例时定义这个秘密。

请看下面的文章

https://www.prisma.io/tutorials/deploy-prisma-to-aws-fargate-ct14

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57962142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档