美文网首页
环境配置管理

环境配置管理

作者: 大豆田 | 来源:发表于2021-04-06 14:56 被阅读0次

使用pydantic的BaseSettings

  1. 类型校验
  2. 整合dotenv
import os

from pydantic import BaseSettings


class Settings(BaseSettings):
    API_BASE: str
    DB_HOST: str = 'localhost'
    DB_PORT: int = 8888
    DB_NAME: str
    TESTING: bool = False


class Production(Settings):
    API_BASE = 'https://example.com/api'
    DB_NAME = 'production'


class Testing(Settings):
    API_BASE = 'https://testing.example.com/api'
    DB_NAME = 'testing'
    TESTING = True


def get_settings():
    env = os.getenv('ENV', 'TESTING')
    if env == 'PRODUCTION':
        return Production()
    return Testing()


settings = get_settings()

print('DB Host =', settings.DB_HOST)
print('DB Port =', settings.DB_PORT)

print('Override =', Production(TESTING=True).dict())

使用Python类

# settings.py
class Settings(object):
    DB_HOST = 'localhost'
    DB_PORT = 8888

settings = Settings()
# test.py
from settings import settings
print(settings.DB_HOST, settings.DB_PORT)

相关文章

  • 配置管理之环境管理

    配置管理工程师要对自己的环境具有控制力 配置管理环境的控制力 对配置管理环境的控制力这主要体现在两个方面, 你要对...

  • saltstack配置管理

    配置管理是基于远程执行的saltstack是如何进行配置管理的,是通过状态管理来进行的。 分别是基础环境,测试环境...

  • 环境配置管理

    使用pydantic的BaseSettings 类型校验 整合dotenv 使用Python类

  • 十二、springCloud用ACM来做配制中心

    参考网址:http://jm.taobao.org/2018/06/29/Cloud微服务环境配置管理

  • 《持续交付》第二章

    配置管理的策略将决定如何管理项目中的一切变化,本章书中从版本控制系统,管理依赖关系,管理配置信息,环境的配置管理来...

  • SpringCloud集成Nacos实现服务发现

    前情内容 CentOS环境下安装NacosSpringCloud集成Nacos实现配置管理 1. 服务发现 本章节...

  • profile多环境配置管理

    我们知道实际工作中一般都会有本地开发环境(一般开发环境都等同于dev环境),uat测试环境(test),生产(pr...

  • JIRA管理员使用说明

    前提条件 1、环境:win 10环境2、工具:JIRA v7.5.23、账号:管理员 配置管理 1、创建项目 选择...

  • 2018-04-26测试环境的搭建和维护

    测试环境搭建方式:由公司的运维或开发搭建、维护;由测试人员搭建维护; 补充:还有CM搭建 配置管理员,承担测试环境...

  • Nacos - 配置管理(3)

    4 Nacos配置管理基础应用 4.1 Nacos配置管理模型 对于Nacos配置管理,通过Namespace、g...

网友评论

      本文标题:环境配置管理

      本文链接:https://www.haomeiwen.com/subject/ydbskltx.html