from pydantic import Field from pydantic_settings import BaseSettings, SettingsConfigDict from typing import Dict class ApolloConfig(BaseSettings): """Apollo 配置中心配置""" app_id: str = Field(default="LongArticlesJob", description="Apollo 应用 ID") env: str = Field(default="pre", description="Apollo 环境: dev/pre/prod") # apollo 配置中心地址映射 apollo_map: Dict[str, Dict[str, str]] = Field( default_factory=lambda: { "LongArticlesJob": { "pre": "http://preapolloconfig-internal.piaoquantv.com/", "dev": "https://devapolloconfig-internal.piaoquantv.com/", "prod": "https://apolloconfig-internal.piaoquantv.com/", }, "longarticle-recommend": { "prod": "https://apolloconfig-internal.piaoquantv.com/" }, } ) model_config = SettingsConfigDict( env_prefix="APOLLO_", env_file=".env", case_sensitive=False, extra="ignore" )