본문 바로가기

Programming/Python

[Boto3] RDS의 Parameter Group 값을 CSV 추출 스크립트

반응형

RDS의 Parameter Groups에 어떤 Parameter들이 정의되어 있는지 CSV 파일로 추출해주는 스크립트입니다.

 

 

- 기대 효과

1. CSV로 저장하여 확인하고 싶을 경우

2. RDS 버전을 MySQL 5.6 -> 5.7 등으로 업그레이드 하고자 할 때 Excel로 비교하고 싶을 경우

 

import boto3
import csv

p_name = "default"
r_name = "ap-northeast-2"
param_group_name = "psql-param-group"

session = boto3.session.Session(profile_name=p_name)
client = session.client(service_name='rds', region_name=r_name)
paginator = client.get_paginator('describe_db_parameters')
response_iterator = paginator.paginate(
    DBParameterGroupName=param_group_name
)

fields = ["ParameterName", "ParameterValue", "ApplyType",
          "DataType", "IsModifiable", "ApplyMethod"]

with open(f"{p_name}-{param_group_name}-result.csv", 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(fields)
    for page in response_iterator:
        response = page.get('Parameters')
        for res in response:
            value = []
            value.append(res.get('ParameterName'))
            param_value = res.get('ParameterValue', "-")
            value.append(param_value)
            value.append(res.get('ApplyType'))
            value.append(res.get('DataType'))
            value.append(res.get('IsModifiable'))
            value.append(res.get('ApplyMethod'))
            writer.writerow(value)

 

 

psql-param-group 이란 파라미터 그룹이 있다고 가정

 

스크립트 실행

 

 

 

Excel로 출력되는 모습을 확인할 수 있다.

 

 

 

반응형