Har*_*rts 1 amazon-web-services aws-cli aws-sdk aws-kms aws-ssm
无论如何,是否可以直接删除/删除 AWS 参数存储中的所有项目?
我找到的所有命令行都是将它一个一个地删除,或者给定一个名称列表将其删除。
我也尝试使用
aws ssm delete-parameters --cli-input-json test.json
Run Code Online (Sandbox Code Playgroud)
与 test.json 文件看起来像这样
{
"Names": [
"test1",
"test2"
]
}
Run Code Online (Sandbox Code Playgroud)
还是不行。。
理想情况下,如果我可以使用 --query 并按原样使用它,那就太好了。
我正在使用 --query 像这样
aws ssm get-parameters-by-path --path / --max-items 2 --query 'Parameters[*].[Name]'
Run Code Online (Sandbox Code Playgroud)
当您需要在 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
Run Code Online (Sandbox Code Playgroud)
以下使用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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2523 次 |
| 最近记录: |