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 Store和SSM.Client.put_parameter