发现 Parameter Store 中的公有参数 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

发现 Parameter Store 中的公有参数

您可以使用 Parameter Store 控制台或 Amazon Command Line Interface 搜索公有参数。

公有参数名称以 aws/service/list 开头。名称中接下来的部分对应于拥有该参数的服务。

以表列出了一些提供公有参数的 Amazon Web Services 服务和其他资源:

  • ami-amazon-linux-latest

  • ami-windows-latest

  • ec2-macos

  • appmesh

  • aws-for-fluent-bit

  • aws-sdk-pandas

  • bottlerocket

  • canonical

  • cloud9

  • datasync

  • debian

  • deeplearning

  • ecs

  • eks

  • fis

  • freebsd

  • global-infrastructure

  • marketplace

  • neuron

  • powertools

  • sagemaker-distribution

  • storagegateway

并非所有公有参数都会发布到每个 Amazon Web Services 区域。

使用 Parameter Store 控制台查找公有参数

您必须在您的 Amazon Web Services 账户和 Amazon Web Services 区域中至少有一个参数,然后才能使用控制台搜索公有参数。

要使用控制台查找公有参数,请执行以下步骤:
  1. 访问 https://console.aws.amazon.com/systems-manager/,打开 Amazon Systems Manager 控制台。

  2. 在导航窗格中,选择 Parameter Store

  3. 选择 Public parameters (公有参数) 选项卡。

  4. 选择 Select a service (选择服务) 下拉菜单。选择要使用其参数的服务。

  5. (可选)在搜索栏中输入更多信息,以筛选所选服务拥有的参数。

  6. 选择要使用的公有参数。

使用 Amazon CLI 查找公有参数

使用 describe-parameters 发现公有参数。

使用 get-parameters-by-path 获取 /aws/service/list 下列出的服务的实际路径。要获取服务的路径,从路径中删除 /list。例如,/aws/service/list/ecs 改为 /aws/service/ecs

要在 Parameter Store 中检索不同服务拥有的公有参数列表,请运行以下命令。

aws ssm get-parameters-by-path --path /aws/service/list

此命令会返回如下信息。此示例输出已由于空间问题截断。

{
    "Parameters": [
        {
            "Name": "/aws/service/list/ami-al-latest",
            "Type": "String",
            "Value": "/aws/service/ami-al-latest/",
            "Version": 1,
            "LastModifiedDate": "2021-01-29T10:25:10.902000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/list/ami-al-latest",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/list/ami-windows-latest",
            "Type": "String",
            "Value": "/aws/service/ami-windows-latest/",
            "Version": 1,
            "LastModifiedDate": "2021-01-29T10:25:12.567000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/list/ami-windows-latest",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/list/aws-storage-gateway-latest",
            "Type": "String",
            "Value": "/aws/service/aws-storage-gateway-latest/",
            "Version": 1,
            "LastModifiedDate": "2021-01-29T10:25:09.903000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/list/aws-storage-gateway-latest",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/list/global-infrastructure",
            "Type": "String",
            "Value": "/aws/service/global-infrastructure/",
            "Version": 1,
            "LastModifiedDate": "2021-01-29T10:25:11.901000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/list/global-infrastructure",
            "DataType": "text"
        }
    ]
}

如果要查看特定服务拥有的参数,请从运行之前的命令后生成的列表中选择该服务。然后使用所需服务的名称调用 get-parameters-by-path

例如,/aws/service/global-infrastructure。路径可以只有一级(只调用与给定值完全一致的参数),也可以是递归路径(路径中包含超出给定值的元素)。

注意

并非所有区域都支持查询 /aws/service/global-infrastructure 路径。有关信息,请参阅调用 Amazon Web Services 服务、区域、端点、可用区、本地区域以及 Parameter Store 中 Wavelength 区域的公有参数

如果没有返回指定服务的任何结果,请添加 --recursive 标记并再次运行命令。

aws ssm get-parameters-by-path --path /aws/service/global-infrastructure

这将返回 global-infrastructure 拥有的所有参数。示例如下:

{
    "Parameters": [
        {
            "Name": "/aws/service/global-infrastructure/current-region",
            "Type": "String",
            "LastModifiedDate": "2019-06-21T05:15:34.252000-07:00",
            "Version": 1,
            "Tier": "Standard",
            "Policies": [],
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/version",
            "Type": "String",
            "LastModifiedDate": "2019-02-04T06:59:32.875000-08:00",
            "Version": 1,
            "Tier": "Standard",
            "Policies": [],
            "DataType": "text"
        }
    ]
}

您还可以使用 Option:BeginsWith 筛选条件查看特定服务拥有的参数。

aws ssm describe-parameters --parameter-filters "Key=Name, Option=BeginsWith, Values=/aws/service/ami-amazon-linux-latest"

此命令会返回如下信息。此示例输出已由于空间问题截断。

{
    "Parameters": [
        {
            "Name": "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs",
            "Type": "String",
            "LastModifiedDate": "2021-01-26T13:39:40.686000-08:00",
            "Version": 25,
            "Tier": "Standard",
            "Policies": [],
            "DataType": "text"
        },
        {
            "Name": "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-gp2",
            "Type": "String",
            "LastModifiedDate": "2021-01-26T13:39:40.807000-08:00",
            "Version": 25,
            "Tier": "Standard",
            "Policies": [],
            "DataType": "text"
        },
        {
            "Name": "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-s3",
            "Type": "String",
            "LastModifiedDate": "2021-01-26T13:39:40.920000-08:00",
            "Version": 25,
            "Tier": "Standard",
            "Policies": [],
            "DataType": "text"
        }
    ]
}
注意

使用 Option=BeginsWith 时,返回的参数可能会有所不同,因为它使用不同的搜索模式。