私は削除する必要がある雲のロググループのかなり長いリストを持っています....百に近いように....あなたは一度に一つずつ削除しなければならないので、私は少しのpythonスクリプトが私を助けてくれると思ったが、今は止まっている。ここに私のスクリプトは、これまでだBott3を使ってCloudwatchロググループを削除する - delete_log_group
...
import boto3
from botocore.exceptions import ClientError
import json
#Connect to AWS using default AWS credentials in awscli config
cwlogs = boto3.client('logs')
loglist = cwlogs.describe_log_groups(
logGroupNamePrefix='/aws/lambda/staging-east1-'
)
#writes json output to file...
with open('loglist.json', 'w') as outfile:
json.dump(loglist, outfile, ensure_ascii=False, indent=4,
sort_keys=True)
#Opens file and searches through to find given loggroup name
with open("loglist.json") as f:
file_parsed = json.load(f)
for i in file_parsed['logGroups']:
print i['logGroupName']
# cwlogs.delete_log_group(
# logGroupName='string' <---here is where im stuck
# )
は、どのように私は私に「logGroupName」の値を取り、delete_log_groupコマンドを使用してのすべてを削除するために反復処理できる文字列に変換します私のロググループは消えなければなりませんか? 私はjson.loadsを使用してみました、それは次のよう...
トレースバック(最後の最新の呼び出し)を用いてエラーが発生した: ファイル "CWLogCleaner.py"、ライン18、 file_parsed = json.loadsで(F ) ファイル "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/ init .py"、行339、ロード中 戻り値_default_decoder .decode(s) ファイル "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py"、行364、デコード中 obj、end = self.raw_decode(s、idx = _w(s、0).end())
これは間違っていると思いますか?
TIA
。それは私と一緒に作業する何かを与える。ありがとうございました 私は誰かがそれを使用したい場合に私が終わるものを投稿します。 – TheRedSeth
あなたがフィルタリングを追加すると仮定して、私はフレームワークを提供していました。あなたのAPI呼び出しはレート制限されているので、それに対処する準備ができていることに注意してください。awscliには指数バックオフが組み込まれていますが、補足する必要があります。 – jarmod