小编Pau*_*son的帖子

在 Elastic Beanstalk 部署期间从 AWS Systems Manager Parameter Store 获取价值

我有一个存储在 AWS Systems Manager Parameter Store 中的数据库连接字符串,我想将其传递给 Elastic Beanstalk 实例的环境变量。我不想将它提交到源代码,也不想依赖部署者在部署时设置值或通过 Web 控制台手动执行。

我尝试过动态引用{{resolve:ssm:DATABASE_CONNECTION_STRING:1}}(有和没有反勾),它们在 CloudFormation 堆栈中工作,但在 Elastic Beanstalk 配置中无效。

我试过使用container_commands

export DATABASE_CONNECTION_STRING=`aws ssm get-parameter --name DATABASE_CONNECTION_STRING --region eu-west-1 --query Parameter.Value --output text

但是 Elastic Beanstalk 实例没有正确的权限,我不确定如何设置它们。

我曾尝试使用 S3 文件的内容创建一个文件files:source:但出现错误。

理想情况下,动态引用可以工作,例如.ebextensions/env.config=>

OptionSettings:
  aws:elasticbeanstalk:application:environment:
    DATABASE_CONNECTION_STRING: {{resolve:ssm:ANNOTATOR_DATABASE_CONNECTION_STRING:1}}

Run Code Online (Sandbox Code Playgroud)

python amazon-web-services amazon-elastic-beanstalk

5
推荐指数
2
解决办法
1245
查看次数

使用 web-ext 进行不同的开发和构建配置

我正在处理一个浏览器扩展项目,并希望background.js在开发时间和构建时间使用不同的 URL 。我想这样做而不必记住在开发和构建之间更改代码。对于服务器项目,我只需使用 dotenv/环境变量,但这不适用于有效运行客户端的扩展。

background.js我有一个fetch使用这个api_base_url(我们也开发了 API);

...
const api_base_url = 'http://127.0.0.1:8000/v1/'
...
Run Code Online (Sandbox Code Playgroud)

在我构建 ( web-ext build)之前,我必须手动将其转换为类似的内容;

...
const api_base_url = 'http://a.domain.com/v1/'
...
Run Code Online (Sandbox Code Playgroud)

理想情况下,它应该是这样的;

...
const api_base_url = ENV['API_BASE_URL']
...
Run Code Online (Sandbox Code Playgroud)

我有一个.env在本地开发的;

API_BASE_URL='http://127.0.0.1:8000/v1/'
Run Code Online (Sandbox Code Playgroud)

.env.production(或.env.build)的;

API_BASE_URL='http://a.domain.com/v1/'
Run Code Online (Sandbox Code Playgroud)

这也是manifest.json我需要将不同 URL 列入白名单的问题,permissions例如

"permissions": [
    "storage",
    "tabs",
    "https://a.domain.com/v1/*",
    "http://127.0.0.1:8000/v1/*"
  ]
Run Code Online (Sandbox Code Playgroud)

这不是一个运行时每个用户的选项,因此browser.storageoptions.js不是我们所要找的。

firefox-addon-webextensions web-ext

2
推荐指数
1
解决办法
199
查看次数