awssm参数存储的一个简单配置变量包装器

parameter-store-environ的Python项目详细描述


PS环境

说明

这是awssm参数存储的一个简单包装器。它被设计用来缓存和解析特定服务和阶段的参数存储中的变量。 它深受django-environ的启发,并共享一个(简化的)接口。

有关参数存储的更多信息,请阅读AWS documentation

安装

安装时使用pip

pip install parameter-store-environ 

用法

包装器假设参数存储中的变量采用以下格式: /<SERVICE>/<STAGE>/<VARIABLE_NAME>

例如:

/api/dev/DEBUG
/api/prod/DB_HOST

包装器对变量名是不可知的,但我们建议您遵循环境变量的约定,并使用所有大写和下划线。

在“设置/配置”模块中,导入该模块并创建包装器的新实例

fromps_environimportEnvconfig=Env(service='api',stage='dev')# When called directly, the string value is returnedassertconfig('DEBUG')=='True'# Use casting methods to return the type you needassertconfig.bool('DEBUG')==True

模式

您可以在实例化包装器时定义模式,以避免调用转换方法

config=Env(service='api',stage='dev',schema={'DEBUG':bool,'MAX_RETRIES':int,})assertconfig('DEBUG')==Trueassertconfig('MAX_RETRIES')==5

支持的转换类型:bool、float、int、set、list、tuple、json

附加说明:

  • list, tuple, set:这些类型期望值用逗号分隔。例如1,2,3
  • json:需要常规json字符串。例如{'foo': 'bar'}

环境变量覆盖

如果变量也是在环境中设置的,则该值将优先。

默认值

可以通过设置默认关键字来设置默认值。 如果未设置默认值,并且该值既不在环境变量中也不在参数存储中,则将引发ImproperlyConfigured异常。

assertconfig('DB_HOST',default='localhost')=='localhost'

AWS证书

ps-environ使用boto3与参数存储接口,因此使用相同的身份验证机制。 有关详细信息,请参阅boto 3文档中的configuring credentials

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在SearchView上获取空对象引用   使用参数从命令行运行java Maven项目时出错   java如何根据其他属性对属性进行排序?   java MongoDB不会为嵌套文档的_id字段保存空值   xml如何使用Java从SOAP响应中检索元素值?   java根据给定的DateTimeFieldType对DateTime进行取整   java标识是否已打开JDialog   在WLS/JDeveloper中部署简单java文件   java如何处理带有最终字段的空构造函数   java如何从单张图生成矢量图像   java Swing工作线程在大型XML解析期间导致延迟   H2数据库中@GeneratedValue的java问题   JavaSpring表达式语言检查字符串列表中是否包含字符串   java检查二叉树中的节点是否有子节点?   java为多个几乎相似的片段重用同一适配器   java libgdx处理cam外部的对象   RecycleView Android/Java中的可自定义适配器存在问题   java总是调用线程。currentThread()。中断();当捕捉到中断异常时?   多线程在java中顺序的含义是什么?