在AWS ElasticBeanstalk中,自动扩展的实例无法直接查看环境变量的值。然而,我们可以使用AWS Systems Manager Parameter Store来解决这个问题。以下是一个解决方法的代码示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:GetParameters",
"ssm:GetParameter"
],
"Resource": "arn:aws:ssm:*:*:parameter/*"
}
]
}
import boto3
def get_parameter(parameter_name):
ssm_client = boto3.client('ssm')
response = ssm_client.get_parameter(
Name=parameter_name,
WithDecryption=True
)
value = response['Parameter']['Value']
return value
# 使用示例
my_parameter = get_parameter('/my-application/my-parameter')
print(my_parameter)
在上述示例中,get_parameter
函数会通过调用ssm_client.get_parameter
来获取指定名称的参数的值。您可以将/my-application/my-parameter
替换为您在Parameter Store中创建的环境变量的名称。
通过使用AWS Systems Manager Parameter Store,您的应用程序可以在自动扩展的实例中获取环境变量的值,即使这些实例是动态创建的。
上一篇:AWS ElasticBeanstalk + Ruby on Rails: Bundler `shared_helpers` 错误
下一篇:AWS ElasticBeanstalk Amazon Linux 2 .platform文件夹没有复制NGINX配置文件。