将 PutParameter 与 Amazon SDK 或 CLI 配合使用 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

PutParameter 与 Amazon SDK 或 CLI 配合使用

以下代码示例演示如何使用 PutParameter

CLI
Amazon CLI

示例 1:更改参数值

以下 put-parameter 示例更改了指定参数的值。

aws ssm put-parameter \ --name "MyStringParameter" \ --type "String" \ --value "Vici" \ --overwrite

输出:

{ "Version": 2, "Tier": "Standard" }

有关更多信息,请参阅《Amazon Systems Manager 用户指南》中的创建 Systems Manager 参数(Amazon CLI)、“管理参数层”<https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html>,以及使用参数策略

示例 2:创建高级参数

以下 put-parameter 示例将创建高级参数。

aws ssm put-parameter \ --name "MyAdvancedParameter" \ --description "This is an advanced parameter" \ --value "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat [truncated]" \ --type "String" \ --tier Advanced

输出:

{ "Version": 1, "Tier": "Advanced" }

有关更多信息,请参阅《Amazon Systems Manager 用户指南》中的创建 Systems Manager 参数(Amazon CLI)、“管理参数层”<https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html>,以及使用参数策略

示例 3:将标准参数转换为高级参数

以下 put-parameter 示例将现有标准参数转换为高级参数。

aws ssm put-parameter \ --name "MyConvertedParameter" \ --value "abc123" \ --type "String" \ --tier Advanced \ --overwrite

输出:

{ "Version": 2, "Tier": "Advanced" }

有关更多信息,请参阅《Amazon Systems Manager 用户指南》中的创建 Systems Manager 参数(Amazon CLI)、“管理参数层”<https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html>,以及使用参数策略

示例 4:创建附加有策略的参数

以下 put-parameter 示例创建了一个附加参数策略的高级参数。

aws ssm put-parameter \ --name "/Finance/Payroll/q2accesskey" \ --value "P@sSwW)rd" \ --type "SecureString" \ --tier Advanced \ --policies "[{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2020-06-30T00:00:00.000Z\"}},{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"5\",\"Unit\":\"Days\"}},{\"Type\":\"NoChangeNotification\",\"Version\":\"1.0\",\"Attributes\":{\"After\":\"60\",\"Unit\":\"Days\"}}]"

输出:

{ "Version": 1, "Tier": "Advanced" }

有关更多信息,请参阅《Amazon Systems Manager 用户指南》中的创建 Systems Manager 参数(Amazon CLI)、“管理参数层”<https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html>,以及使用参数策略

示例 5:向现有参数添加策略

以下 put-parameter 示例将策略附加到现有高级参数。

aws ssm put-parameter \ --name "/Finance/Payroll/q2accesskey" \ --value "N3wP@sSwW)rd" \ --type "SecureString" \ --tier Advanced \ --policies "[{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2020-06-30T00:00:00.000Z\"}},{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"5\",\"Unit\":\"Days\"}},{\"Type\":\"NoChangeNotification\",\"Version\":\"1.0\",\"Attributes\":{\"After\":\"60\",\"Unit\":\"Days\"}}]" --overwrite

输出:

{ "Version": 2, "Tier": "Advanced" }

有关更多信息,请参阅《Amazon Systems Manager 用户指南》中的创建 Systems Manager 参数(Amazon CLI)、“管理参数层”<https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html>,以及使用参数策略

  • 有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 PutParameter

Java
SDK for Java 2.x
注意

查看 GitHub,了解更多信息。查找完整示例,学习如何在 Amazon 代码示例存储库中进行设置和运行。

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ssm.SsmClient; import software.amazon.awssdk.services.ssm.model.ParameterType; import software.amazon.awssdk.services.ssm.model.PutParameterRequest; import software.amazon.awssdk.services.ssm.model.SsmException; public class PutParameter { public static void main(String[] args) { final String usage = """ Usage: <paraName> Where: paraName - The name of the parameter. paraValue - The value of the parameter. """; if (args.length != 2) { System.out.println(usage); System.exit(1); } String paraName = args[0]; String paraValue = args[1]; Region region = Region.US_EAST_1; SsmClient ssmClient = SsmClient.builder() .region(region) .build(); putParaValue(ssmClient, paraName, paraValue); ssmClient.close(); } public static void putParaValue(SsmClient ssmClient, String paraName, String value) { try { PutParameterRequest parameterRequest = PutParameterRequest.builder() .name(paraName) .type(ParameterType.STRING) .value(value) .build(); ssmClient.putParameter(parameterRequest); System.out.println("The parameter was successfully added."); } catch (SsmException e) { System.err.println(e.getMessage()); System.exit(1); } } }
  • 有关 API 详细信息,请参阅《Amazon SDK for Java 2.x API 参考》中的 PutParameter

PowerShell
适用于 PowerShell 的工具

示例 1:此示例创建一个参数。如果此命令成功,则无任何输出。

Write-SSMParameter -Name "Welcome" -Type "String" -Value "helloWorld"

示例 2:此示例更改了参数。如果此命令成功,则无任何输出。

Write-SSMParameter -Name "Welcome" -Type "String" -Value "Good day, Sunshine!" -Overwrite $true
  • 有关 API 详细信息,请参阅《Amazon Tools for PowerShell Cmdlet Reference》中的 PutParameter

Rust
适用于 Rust 的 SDK
注意

查看 GitHub,了解更多信息。查找完整示例,学习如何在 Amazon 代码示例存储库中进行设置和运行。

async fn make_parameter( client: &Client, name: &str, value: &str, description: &str, ) -> Result<(), Error> { let resp = client .put_parameter() .overwrite(true) .r#type(ParameterType::String) .name(name) .value(value) .description(description) .send() .await?; println!("Success! Parameter now has version: {}", resp.version()); Ok(()) }
  • 有关 API 详细信息,请参阅《Amazon SDK for Rust API 参考》中的 PutParameter

有关 Amazon SDK 开发人员指南和代码示例的完整列表,请参阅 将 Systems Manager 与 Amazon SDK 配合使用。本主题还包括有关入门的信息以及有关先前的 SDK 版本的详细信息。