2024-04-20 11:29:17 发布
网友
自从Amazon从ec2ami工具切换到awscli(checkthis),robertsindall的solution不再被接受。在
所以我决定为新的python/json标准重写他的脚本。在
请随时提出任何问题或提供您的解决方案。在
请正确安装和配置awscli。对于MacOS,我推荐brew版本。在
安装后不要忘记运行aws configure
aws configure
对我来说完美无瑕,但无论如何要用它来冒险。在
import json, subprocess def remove_unused_snaps(region): line = 'aws ec2 describe-images region {} owners self'.format(region) p = subprocess.Popen(line.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, err = p.communicate() obj = json.loads(out.decode("utf-8")) snaps_used = set(i['BlockDeviceMappings'][0]['Ebs']['SnapshotId'] for i in obj['Images']) line = 'aws ec2 describe-snapshots region {} owner-ids self'.format(region) p = subprocess.Popen(line.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, err = p.communicate() obj = json.loads(out.decode("utf-8")) snaps_old = set(i['SnapshotId'] for i in obj['Snapshots']) line = 'aws ec2 delete-snapshot region {} snapshot-id'.format(region) for snap in list(snaps_old - snaps_used): p = subprocess.Popen(line.split() + [snap], stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, err = p.communicate() print(snap, out, err)
然后运行它:remove_unused_snaps('us-west-2')
remove_unused_snaps('us-west-2')
请正确安装和配置awscli。对于MacOS,我推荐brew版本。在
安装后不要忘记运行
aws configure
对我来说完美无瑕,但无论如何要用它来冒险。在
然后运行它:
remove_unused_snaps('us-west-2')
相关问题 更多 >
编程相关推荐