将 PutParameter 与 AWS SDK 或 CLI 配合使用 - AWS Systems Manager

PutParameter 与 AWS SDK 或 CLI 配合使用

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

CLI
AWS CLI

示例 1:更改参数值

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

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

输出:

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

有关更多信息,请参阅《AWS Systems Manager 用户指南》中的创建 Systems Manager 参数(AWS 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" }

有关更多信息,请参阅《AWS Systems Manager 用户指南》中的创建 Systems Manager 参数(AWS 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" }

有关更多信息,请参阅《AWS Systems Manager 用户指南》中的创建 Systems Manager 参数(AWS 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" }

有关更多信息,请参阅《AWS Systems Manager 用户指南》中的创建 Systems Manager 参数(AWS 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" }

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

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

Java
SDK for Java 2.x
注意

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

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 详细信息,请参阅《AWS 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 详细信息,请参阅《AWS Tools for PowerShell Cmdlet Reference》中的 PutParameter

Rust
适用于 Rust 的 SDK
注意

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

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 详细信息,请参阅《AWS SDK for Rust API 参考》中的 PutParameter

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