我正在使用适用于 PHP 的 AWS 开发工具包(但平台无关紧要),并且想更新我的 Elastic Beanstalk 环境的环境属性:
我已经阅读了文档,我能找到的唯一似乎更新配置的操作是UpdateConfigurationTemplate。
此操作是否可以在不触及任何已保存配置的情况下更新单个环境中的单个环境属性?我对“模板”命名感到困惑。
或者,以编程方式更新单个环境中的单个环境属性的正确操作是什么?
我正在使用适用于 PHP 的 AWS 开发工具包(但平台无关紧要),并且想更新我的 Elastic Beanstalk 环境的环境属性:
我已经阅读了文档,我能找到的唯一似乎更新配置的操作是UpdateConfigurationTemplate。
此操作是否可以在不触及任何已保存配置的情况下更新单个环境中的单个环境属性?我对“模板”命名感到困惑。
或者,以编程方式更新单个环境中的单个环境属性的正确操作是什么?
在updateEnvironment操作中找到它:
$elasticBeanstalkClient->updateEnvironment([
'EnvironmentName' => $environment,
'OptionSettings' => [
[
'Namespace' => 'aws:elasticbeanstalk:application:environment',
'OptionName' => $key,
'Value' => $value
]
]
]);
我在describeConfigurationSettingsNamespace
返回的值中找到了正确的值,这对于任何应用程序/环境都可能相同。
只是为了让谷歌可以使用它,下面是如何在 Clojure 中使用Amazonica来做到这一点:
添加到project.clj:
:dependencies [[amazonica "0.2.10"]]
然后,在您的代码(或 REPL)中:
(require '[amazonica.core :as aws]
'[amazonica.aws.elasticbeanstalk :as eb])
(def aws-access-key "YOUR ACCESS KEY")
(def aws-secret-key "YOUR SECRET KEY")
(def eb-env-name "YOUR ELASTIC BEANSTALK ENVIRONMENT NAME")
(aws/defcredential aws-access-key aws-secret-key)
(eb/update-environment :environment-name eb-env-name
:option-settings [{:namespace "aws:elasticbeanstalk:application:environment"
:option-name "KEY"
:value "VALUE"}])