演練: 使用階層來管理參數 (AWS CLI) - AWS Systems Manager

演練: 使用階層來管理參數 (AWS CLI)

此演練示範如何利用 AWS CLI,來使用參數和參數階層。如需參數階層的詳細資訊,請參閱將參數組織為階層結構

使用階層管理參數

  1. 如果您尚未安裝並設定 AWS CLI,請進行相應的作業。

    如需資訊,請參閱 安裝或升級 AWS 命令列工具

  2. 執行以下命令,以建立使用 allowedPattern 參數和 String 參數類型的參數。此範例中允許的模式表示參數值必須介於 1 位數到 4 位數。

    Linux
    aws ssm put-parameter \ --name "/MyService/Test/MaxConnections" \ --value 100 --allowed-pattern "\d{1,4}" \ --type String
    Windows
    aws ssm put-parameter ^ --name "/MyService/Test/MaxConnections" ^ --value 100 --allowed-pattern "\d{1,4}" ^ --type String

    該命令會傳回參數的版本號碼。

  3. 執行以下命令,以 嘗試 以新的值覆寫您剛建立的參數。

    Linux
    aws ssm put-parameter \ --name "/MyService/Test/MaxConnections" \ --value 10,000 \ --type String \ --overwrite
    Windows
    aws ssm put-parameter ^ --name "/MyService/Test/MaxConnections" ^ --value 10,000 ^ --type String ^ --overwrite

    系統返回以下錯誤,因爲新值不符合您在上一步中指定的允許模式的要求。

    An error occurred (ParameterPatternMismatchException) when calling the PutParameter operation: Parameter value, cannot be validated against allowedPattern: \d{1,4}
  4. 執行以下命令,以建立使用 AWS 管理的客戶主要金鑰 (CMK) 的 SecureString 參數。此範例中允許的模式表示使用者可以指定任何字元,其值必須介於 8 到 20 個字元。

    Linux
    aws ssm put-parameter \ --name "/MyService/Test/my-password" \ --value "p#sW*rd33" \ --allowed-pattern ".{8,20}" \ --type SecureString
    Windows
    aws ssm put-parameter ^ --name "/MyService/Test/my-password" ^ --value "p#sW*rd33" ^ --allowed-pattern ".{8,20}" ^ --type SecureString
  5. 執行以下命令,以建立更多使用先前步驟的階層結構的參數。

    Linux
    aws ssm put-parameter \ --name "/MyService/Test/DBname" \ --value "SQLDevDb" \ --type String
    aws ssm put-parameter \ --name "/MyService/Test/user" \ --value "SA" \ --type String
    aws ssm put-parameter \ --name "/MyService/Test/userType" \ --value "SQLuser" \ --type String
    Windows
    aws ssm put-parameter ^ --name "/MyService/Test/DBname" ^ --value "SQLDevDb" ^ --type String
    aws ssm put-parameter ^ --name "/MyService/Test/user" ^ --value "SA" ^ --type String
    aws ssm put-parameter ^ --name "/MyService/Test/userType" ^ --value "SQLuser" ^ --type String
  6. 執行以下命令,以取得兩個參數的值。

    Linux
    aws ssm get-parameters \ --names "/MyService/Test/user" "/MyService/Test/userType"
    Windows
    aws ssm get-parameters ^ --names "/MyService/Test/user" "/MyService/Test/userType"
  7. 執行以下命令,以查詢單一層級中的所有參數。

    Linux
    aws ssm get-parameters-by-path \ --path "/MyService/Test"
    Windows
    aws ssm get-parameters-by-path ^ --path "/MyService/Test"
  8. 執行下列命令,以刪除兩個參數

    Linux
    aws ssm delete-parameters \ --names "/IADRegion/Dev/user" "/IADRegion/Dev/userType"
    Windows
    aws ssm delete-parameters ^ --names "/IADRegion/Dev/user" "/IADRegion/Dev/userType"