簡體   English   中英

AWS SSM 參數存儲

[英]AWS SSM Parameters Store

無論如何,是否可以直接刪除/刪除 AWS 參數存儲中的所有項目?

我找到的所有命令行都是將它一個一個地刪除,或者在給出一個名稱列表的情況下將其刪除。

我也嘗試使用

aws ssm delete-parameters --cli-input-json test.json

與 test.json 文件看起來像這樣

{
    "Names": [
        "test1",
        "test2"
    ]
}

還是不行。。

理想情況下,如果我可以使用 --query 並按原樣使用它,那就太好了。

我正在使用 --query 像這樣

aws ssm get-parameters-by-path --path / --max-items 2 --query 'Parameters[*].[Name]'

當您需要在 AWS Systems Manager Parameter Store 中按路徑刪除所有參數並且有 10 多個參數時,您必須處理分頁。 否則,命令將失敗並顯示錯誤:

An error occurred (ValidationException) when calling the DeleteParameters operation: 1 validation error detected: Value '[/config/application/prop1, ...]' at 'names' failed to satisfy constraint: Member must have length less than or equal to 10

以下使用AWS CLI 分頁選項的Bash 腳本按路徑從 AWS SSM Parameter Store 中刪除任意數量的參數:

#!/bin/bash

path=/config/application_dev/

while : ; do
  aws ssm delete-parameters --names $(aws ssm get-parameters-by-path --path "$path" --query "Parameters[*].Name" --output text --max-items 10 $starting_token | grep -v None)
  next_token=$(aws ssm get-parameters-by-path --path "$path" --query NextToken --output text --max-items 10 | grep -v None)
  if [ -z "$next_token" ]; then
    starting_token=""
    break
  else
    starting_token="--starting-token $next_token"
  fi
done

您可以將get-parameters-by-pathdelete-parameters

aws ssm delete-parameters --names `aws ssm get-parameters-by-path --path / --query Parameters[].Name --output text`

我通過創建兩個參數來測試它,然后運行上面的命令。 通過參數成功刪除。

這是我的單行解決方案:

$ for key in $(aws ssm get-parameters-by-path --path "/" --recursive | jq -r '.Parameters[] | .Name' | tr '\r\n' ' '); do aws ssm delete-parameter --name ${key}; done

注意:復制粘貼時要小心,因為它會刪除“/”下的所有內容

試試這個並執行多次

aws ssm delete-parameters --names `aws ssm get-parameters-by-path --path / --recursive --query Parameters[].Name --output text --max-items 9`

補充以上。 我不得不從參數存儲中刪除大約 400 個參數。 在命令行中運行以下命令,它做到了! (將 for 循環中的 45 更改為您喜歡的任何數字);

for ((n=0;n<**45**;n++)); do
    aws ssm delete-parameters --names `aws ssm get-parameters-by-path --path / --recursive --query Parameters[].Name --output text --max-items 9`
done

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM