可以使用 env_vars
参数或指向 yaml
文件的 env_file
参数将环境变量添加到资源中。示例
dev_fastapi = FastApi(
...
env_vars={
"RUNTIME_ENV": "dev",
# 从本地环境变量获取 OpenAI API 密钥
"OPENAI_API_KEY": getenv("OPENAI_API_KEY"),
# 数据库配置
"DB_HOST": dev_db.get_db_host(),
"DB_PORT": dev_db.get_db_port(),
"DB_USER": dev_db.get_db_user(),
"DB_PASS": dev_db.get_db_password(),
"DB_DATABASE": dev_db.get_db_database(),
# 在应用程序启动前等待数据库可用
"WAIT_FOR_DB": ws_settings.dev_db_enabled,
# 启动时使用 alembic 迁移数据库
# "MIGRATE_DB": ws_settings.prd_db_enabled,
},
...
)
prd_fastapi = FastApi(
...
env_vars={
"RUNTIME_ENV": "prd",
# 从本地环境变量获取 OpenAI API 密钥
"OPENAI_API_KEY": getenv("OPENAI_API_KEY"),
# 数据库配置
"DB_HOST": AwsReference(prd_db.get_db_endpoint),
"DB_PORT": AwsReference(prd_db.get_db_port),
"DB_USER": AwsReference(prd_db.get_master_username),
"DB_PASS": AwsReference(prd_db.get_master_user_password),
"DB_DATABASE": AwsReference(prd_db.get_db_name),
# 在应用程序启动前等待数据库可用
"WAIT_FOR_DB": ws_settings.prd_db_enabled,
# 启动时使用 alembic 迁移数据库
# "MIGRATE_DB": ws_settings.prd_db_enabled,
},
...
)
您的模板中的应用程序已配置为读取环境变量。