与aws系统管理器接口的python包

python-aws-ssm的Python项目详细描述


buildcodecovlicensecodestyle

python aws ssm

AWS System Manager接口的python包。

为什么要使用pythonawssm而不是boto3 ssm客户端?

这个包包着BOTO3-SSM客户端,隐藏了处理不太好的Python友好AWS SDK的复杂性。 当应用程序的安全参数存储到 AWS Parameter Store 使用路径层次结构。在应用程序启动期间,您可以使用此包获取它们并在应用程序中使用它们。

警告

默认情况下,SSM服务受速率限制。我们强烈建议使用 按路径检索ssm密钥,例如通过ParameterStore.get_parameters_by_path()。 这需要按有用的路径对键进行分组,但会降低 你自己的服务价格也受到限制。

安装

pip install python-aws-ssm

示例

基本用法

frompython_aws_ssm.parametersimportParameterStore# Assuming you have the parameters in the following format:# my-service/dev/param-1  -> with value `a`# my-service/dev/param-2  -> with value `b`parameter_store=ParameterStore()# Requesting the base pathparameters=parameter_store.get_parameters_by_path("/my-service/dev/")# And getting a specific valuevalue=parameters.get("param-1")# value should be `a`

递归和嵌套选项
frompython_aws_ssm.parametersimportParameterStore# Assuming you have the parameters in the following format:# my-service/dev/param-1  -> with value `a`# my-service/dev/param-2  -> with value `b`parameter_store=ParameterStore()# Requesting the base pathparameters=parameter_store.get_parameters_by_path("/my-service/",recursive=True,nested=True)# And getting a specific valuedev_parameters=parameters.get("dev")# value should be {"param-1": "a", "param-2": "b"}

按名称获取参数
frompython_aws_ssm.parametersimportParameterStore# Assuming you have the parameters in the following format:# my-service/dev/param-1  -> with value `a`# common/dev/param-2  -> with value `b`parameter_store=ParameterStore()# Requesting the base pathparameters=parameter_store.get_parameters(["/my-service/dev/param-1","/common/dev/param-2"])# And getting a specific valuedev_parameters=parameters.get("/common/dev/param-2")# value should be `b`

使用自定义客户端
frompython_aws_ssm.parametersimportParameterStoreimportboto3# Initialise an SSM client to specify the source of the credentials.# e.g. locally a profile would be more likely; an AWS Lambda would most# likely not override the credentials source.ssm_client=boto3.Session(profile_name='dev').client('ssm')parameter_store=ParameterStore(ssm_client)parameters=parameter_store.get_parameters(["/service/path/"])

开发

如果您缺少任何功能或发现了一个bug,请打开一个pr或一个新的github问题。

设置

这个项目使用诗歌来管理依赖关系和虚拟环境。 按照poetry网站(https://poetry.eustace.io/docs/#installation)的说明配置本地环境。

完成诗歌设置后,可以运行以下命令创建虚拟环境:

make setup

测试

测试由pytest运行

make test

代码样式

make format

在按下之前检查:

make lint

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

推荐PyPI第三方库


热门话题
java结合两个Date实例使用Joda创建datetime   带有POI和FileOutputStream的java Swing应用程序性能问题   Java中是否存在类似于Python的异常?   Java中有界通配符的泛型   使用字符和子字符串的java不同输出   在Java中获取LDAP模式   java自定义类在自身上生成ClassNotFoundException   java连接到从internet到通过LAN连接到internet的系统的serversocket   java如何通过maven在jaxws中使用jaxb插件?   java Kerberos如何获取主体或客户端名称?   java应用服务器中是否有JDBC的单点登录解决方案?   java是存储矩阵值以便以后访问的更好方法   Java等级计算器。开始这门课我需要一些帮助   未找到Android“libc++\u shared.so”中的java OpenCV实现   当我使用web配置部署描述符时使用java。xml。它显示了错误   java为什么我的ArrayList的add方法冲突,如何编辑我的自定义add方法   java创建一个以集合为键的映射?   java如何将用户输入到数字三角形中   为什么Java在读取LinkedHashMap时会自动从字符串转换为整数   类动态创建和读取java类