aws ssm参数存储实用程序。

confectionary-confetti的Python项目详细描述


五彩纸屑

糖果糖果可以自信地限制那些混乱的配置

在应用程序中安装

$ pip install git+ssh://git@github.com/AmberEngine/confectionary-confetti.git#egg=confectionary-confetti

创建BOTO3会话。如果您不创建会话,将使用您的AWS用户配置或角色为您创建一个会话。

session关键字参数覆盖默认会话。

fromconfettiimportConfettisession=boto3.session.Session()confetti=Confetti(session=session)print(confetti.path)

输出

/Development/Confetti

选择一把钥匙。您的密钥将是应用程序参数的命名空间路径的根,并将用作kms密钥的别名来加密和解密您的参数。如果不选择键,则默认值为“development”。

设置五彩纸屑密钥环境变量。五彩纸屑键环境覆盖默认值。

$ exportCONFETTI_KEY=YourKey
fromconfettiimportConfetticonfetti=Confetti()print(confetti.path)

输出

/YourKey/Confetti

五彩纸屑关键字参数覆盖五彩纸屑关键字环境变量。

fromconfettiimportConfetticonfetti=Confetti(confetti_key='YourKey')print(confetti.path)

输出

/YourKey/Confetti

选择一条路。您的路径将附加到应用程序参数的命名空间路径,即/<;五彩纸屑键>;/<;五彩纸屑路径>;。例如/你的钥匙/你的/路径。如果不选择路径,默认值是五彩纸屑类的名称。

重写五彩纸屑类并使用myapp作为默认值。

fromconfettiimportConfetticlassMyApp(Confetti):passconfetti=MyApp()print(confetti.path)

输出

/Development/MyApp

设置五彩纸屑路径环境变量。五彩纸屑路径环境覆盖默认值。

$ exportCONFETTI_PATH=Your/Path
fromconfettiimportConfetticonfetti=Confetti()print(confetti.path)

输出

/Development/Your/Path

五彩纸屑路径关键字参数覆盖五彩纸屑路径环境变量。

fromconfettiimportConfetticonfetti=Confetti(confetti_path='Your/Path')print(confetti.path)

输出

/Development/Your/Path

在应用程序中检索和使用参数。注意,假设您的securestring参数是通过解密来检索的。您可以通过关键字参数覆盖ssm.client.get_parameters_by_path的参数,但“path”除外。

fromconfettiimportConfetticonfetti=Confetti(confetti_key="Production",confetti_path="MyApp")parameters=confetti.get_parameters()# Print the value of a specific parameterprint(parameters.APP_URL)# Print your parametersprint(parameters)

存储json文件中的参数。

使用新参数创建一个json文件

[{"Name":"APP_URL","Value":"http://www.mrcoolice.com/app","Type":"String"},{"Name":"APP_KEY","Value":"abcde12345","Type":"SecureString"},{"Name":"THINGS","Value":"thing1, thing2","Type":"StringList"}]

将当前参数导出到json文件中,以便可以对其进行修改。注意,假设您的securestring参数是通过解密来检索的。您可以通过关键字参数覆盖ssm.client.get_parameters_by_path的参数,但“path”除外。

fromconfettiimportConfetti# Create your app's configconfetti=Confetti(confetti_key="Production",confetti_path="MyApp")# Export to JSON from AWS SSM parameter storeconfetti.export_parameters("parameters.json")

检查并修改参数。

[{"Name":"APP_URL","Value":"http://www.mrcoolice.com/app","Type":"String","Overwrite":true},{"Name":"APP_KEY","Value":"abcde12345","Type":"SecureString","Overwrite":true},{"Name":"THINGS","Value":"thing1, thing2","Type":"StringList","Overwrite":true}]

为应用程序设置参数。仅执行一次此操作,您的参数将存储在AWS SSM参数存储中。

fromconfettiimportConfetti# Create your app's configconfetti=Confetti(confetti_key="Production",confetti_path="MyApp")# Import parameters from JSON to AWS SSM parameter storeconfetti.import_parameters("parameters.json")

另请参见:AWS Systems Manager Parameter StoreSSM.Client.put_parameter

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

推荐PyPI第三方库


热门话题
检查java中两个链表之间的子集   java仅在findViewById()下显示一个ImageButton   在Java Graphics2D中,文本如何在矩形上居中对齐?   java需要一个用于电子表格计算器的正则表达式   ^java中的运算符   java通过一些属性配置文件根据环境动态更改wsdl端点URL   java Ebean/Play框架关系未更新   集合如何将POJO列表转换为Java流中的映射<String,List>?   java为什么JFrame不显示整个图像?   java如何将调用静态导入的泛型方法的结果传递给另一个方法?   迭代器或foreach中的java延迟   需要java socket logback日志接收器   在Java中初始化Map的静态数组   雅加达邮件Java MimeMail:解码后获得额外字符   java为什么这个xmldom解析器不能正确解析rtept、name和cmt标记?   java如何刷新Log4J2中的异步记录器(带中断器)   java使用构建插件pom生成的jar。xml作为同一pom中的依赖项   java基于位置的序列ADT如何在O(1)时间内插入元素?   java ORM实体与DDD实体   Java对象分配