solution/compliance/3.4-sub-resource-changes/python_script/index.py (39 lines of code) (raw):
import pymysql
import json,logging
import os
connection = None
logger = logging.getLogger()
def initialize(context):
global connection
try:
connection = pymysql.connect(
host=os.environ['MYSQL_ENDPOING'], # 替换为您的HOST名称。
port=int(os.environ['MYSQL_PORT']), # 替换为您的端口号。
user=os.environ['MYSQL_USER'], # 替换为您的用户名。
passwd=os.environ['MYSQL_PASSWORD'], # 替换为您的用户名对应的密码。
db=os.environ['MYSQL_DBNAME'], # 替换为您的数据库名称。
connect_timeout=5)
logger.info('eb job connect mysql success!!!')
except Exception as e:
logger.error(
"ERROR: Unexpected error: Could not connect to MySql instance.")
raise Exception(str(e))
def pre_stop(context):
if connection != None:
connection.close()
def save_transactional(sql, params):
try:
cursor=connection.cursor()
cursor.execute(sql , params)
connection.commit()
except Exception as e:
logger.error(e)
def handler(event, context):
eb = json.loads(event).get("data")
eb_action,eb_time,resource_name,req_id = eb.get("resourceEventType"),eb.get("captureTime"),eb.get("resourceName"),eb.get("requestId")
account_id, region, config_diff, resourse_type = eb.get("accountId"),eb.get("regionId"),eb.get("configurationDiff"),eb.get("resourceType")
logger.info(eb_action+eb_time+resource_name+req_id+account_id+region+config_diff+resourse_type)
change_sql = "insert into event_list(req_id,type,time,resource,account,region,configdiff,resourcetype) values(%s,%s,%s,%s,%s,%s,%s,%s)"
params = (req_id,eb_action,eb_time,resource_name,account_id, region, config_diff, resourse_type)
save_transactional(change_sql, params)
return 'success'