腾讯云调用API数据落库 python示例

一、准备步骤

1.1 安装python(略)

1.2 安装SDK(略)

二、代码

# -*- coding:utf-8 -*- 
import pymysql
import json
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.cdb.v20170320 import cdb_client, models

class mysql_connection:
    def __init__(self):
        self.conn = pymysql.connect(host="xxx.xxx.xxx.xxx",port=xxx,user="xxx",password="xxx",database="xxx")
        self.cur = self.conn.cursor()
 
    def sql_statement(self, sql):
        try:
            self.conn.begin()
            self.cur.execute(sql)
            self.conn.commit()
        except Exception as err:
            print("Error %s for execute sql: %s" % (err, sql))
        self.conn.close()

try: 
    cred = credential.Credential("ak", "sk") 
    httpProfile = HttpProfile()
    httpProfile.endpoint = "cdb.tencentcloudapi.com"

    clientProfile = ClientProfile()
    clientProfile.httpProfile = httpProfile
    client = cdb_client.CdbClient(cred, "ap-shanghai", clientProfile) 

    req = models.DescribeDBInstancesRequest()
    params = {
    "Limit": 2000
    }
    req.from_json_string(json.dumps(params))

    resp = client.DescribeDBInstances(req) 
    list_items=json.loads(resp.to_json_string())['Items']

except TencentCloudSDKException as err: 
    print(err) 

if __name__ == '__main__':
    for i in  range(len(list_items)):
       mysql = mysql_connection()
       values = '\",\"'.join('%s' %id for id in list_items[i].values())
       columns = ', '.join(list_items[i].keys())
       qry = "Replace Into xxx (%s) Values (\"%s\");" % (columns, values)
       mysql.sql_statement(qry)



猜你喜欢

转载自blog.csdn.net/qq_42979842/article/details/114326068
今日推荐