You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python boto3获取AWS Parameter Store参数的描述字段

问题根因

boto3 的 get_parameter() 接口默认不会返回参数的 Description 字段,这是AWS SSM API的原生设计,和参数写入逻辑无关。你现有代码重复调用两次get_parameter没有实际意义,这个接口本身就不回传描述类元数据。
另外你的读取代码里还有个笔误:定义的变量是str_encrypted_pw,打印的时候却用了未声明的decrypted_pw,运行时也会抛出变量不存在的错误。

修复方法

要获取写入的Description内容,需要调用describe_parameters()接口,该接口会返回参数的全量元数据,包括描述、创建时间、修改时间、参数层级等信息。注意这个接口只返回元数据,不返回参数值,解密后的参数值还是通过get_parameter()获取即可,不需要重复调用两次get_parameter。

修正后的读取代码如下:

while True:
    read_info = input("Service: ") # 输入要查询的服务名
    read_info = read_info.upper()
    # 获取解密后的参数值
    value_resp = ssm_client.get_parameter(
        Name=read_info,
        WithDecryption=True
    )
    decrypted_pw = value_resp['Parameter']['Value']
    # 获取参数元数据(包含Description字段)
    meta_resp = ssm_client.describe_parameters(
        ParameterFilters=[
            {
                'Key': 'Name',
                'Values': [read_info]
            }
        ]
    )
    # describe_parameters返回匹配的参数列表,单个查询取第一个元素即可
    str_username = meta_resp['Parameters'][0]['Description']
    
    print("Username:\n", str_username)
    print("Password:")
    print(decrypted_pw)
    break
补充说明

如果需要批量查询多个参数的信息,可以搭配get_parameters()(批量拿参数值)和describe_parameters()(批量拿元数据)使用,减少API调用频次,避免触发SSM接口限流。

内容的提问来源于stack exchange,提问作者eaglehuntt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 02:21:28