# -*- coding: utf8 -*- # Copyright (c) 2017-2021 THL A29 Limited, a Tencent company. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import json from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException from tencentcloud.common.abstract_client import AbstractClient from tencentcloud.dbbrain.v20191016 import models class DbbrainClient(AbstractClient): _apiVersion = '2019-10-16' _endpoint = 'dbbrain.tencentcloudapi.com' _service = 'dbbrain' def AddUserContact(self, request): """添加邮件接收联系人的姓名, 邮件地址,返回值为添加成功的联系人id。Region统一选择广州。 :param request: Request instance for AddUserContact. :type request: :class:`tencentcloud.dbbrain.v20191016.models.AddUserContactRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.AddUserContactResponse` """ try: params = request._serialize() headers = request.headers body = self.call("AddUserContact", params, headers=headers) response = json.loads(body) model = models.AddUserContactResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def CreateDBDiagReportTask(self, request): """创建健康报告,并可以选择是否发送邮件。 :param request: Request instance for CreateDBDiagReportTask. :type request: :class:`tencentcloud.dbbrain.v20191016.models.CreateDBDiagReportTaskRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.CreateDBDiagReportTaskResponse` """ try: params = request._serialize() headers = request.headers body = self.call("CreateDBDiagReportTask", params, headers=headers) response = json.loads(body) model = models.CreateDBDiagReportTaskResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def CreateDBDiagReportUrl(self, request): """创建健康报告的浏览地址。 :param request: Request instance for CreateDBDiagReportUrl. :type request: :class:`tencentcloud.dbbrain.v20191016.models.CreateDBDiagReportUrlRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.CreateDBDiagReportUrlResponse` """ try: params = request._serialize() headers = request.headers body = self.call("CreateDBDiagReportUrl", params, headers=headers) response = json.loads(body) model = models.CreateDBDiagReportUrlResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def CreateMailProfile(self, request): """创建邮件配置。其中入参ProfileType表示所创建配置的类型,ProfileType 取值包括:dbScan_mail_configuration(数据库巡检邮件配置)、scheduler_mail_configuration(定期生成健康报告的邮件发送配置)。Region统一选择广州,和实例所属地域无关。 :param request: Request instance for CreateMailProfile. :type request: :class:`tencentcloud.dbbrain.v20191016.models.CreateMailProfileRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.CreateMailProfileResponse` """ try: params = request._serialize() headers = request.headers body = self.call("CreateMailProfile", params, headers=headers) response = json.loads(body) model = models.CreateMailProfileResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def CreateSchedulerMailProfile(self, request): """该接口用于创建定期生成健康报告并邮件发送的配置,将健康报告的定期生成时间作为参数传入(周一至周日),用于设置健康报告的定期生成时间,同时保存相应的定期邮件发送的配置。 :param request: Request instance for CreateSchedulerMailProfile. :type request: :class:`tencentcloud.dbbrain.v20191016.models.CreateSchedulerMailProfileRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.CreateSchedulerMailProfileResponse` """ try: params = request._serialize() headers = request.headers body = self.call("CreateSchedulerMailProfile", params, headers=headers) response = json.loads(body) model = models.CreateSchedulerMailProfileResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def CreateSecurityAuditLogExportTask(self, request): """创建安全审计日志导出任务。 :param request: Request instance for CreateSecurityAuditLogExportTask. :type request: :class:`tencentcloud.dbbrain.v20191016.models.CreateSecurityAuditLogExportTaskRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.CreateSecurityAuditLogExportTaskResponse` """ try: params = request._serialize() headers = request.headers body = self.call("CreateSecurityAuditLogExportTask", params, headers=headers) response = json.loads(body) model = models.CreateSecurityAuditLogExportTaskResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DeleteSecurityAuditLogExportTasks(self, request): """删除安全审计日志导出任务。 :param request: Request instance for DeleteSecurityAuditLogExportTasks. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DeleteSecurityAuditLogExportTasksRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DeleteSecurityAuditLogExportTasksResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DeleteSecurityAuditLogExportTasks", params, headers=headers) response = json.loads(body) model = models.DeleteSecurityAuditLogExportTasksResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeAllUserContact(self, request): """获取邮件发送中联系人的相关信息。 :param request: Request instance for DescribeAllUserContact. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeAllUserContactRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeAllUserContactResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeAllUserContact", params, headers=headers) response = json.loads(body) model = models.DescribeAllUserContactResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeAllUserGroup(self, request): """获取邮件发送联系组的相关信息。 :param request: Request instance for DescribeAllUserGroup. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeAllUserGroupRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeAllUserGroupResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeAllUserGroup", params, headers=headers) response = json.loads(body) model = models.DescribeAllUserGroupResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeDBDiagEvent(self, request): """获取实例异常诊断事件的详情信息。 :param request: Request instance for DescribeDBDiagEvent. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeDBDiagEventRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeDBDiagEventResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeDBDiagEvent", params, headers=headers) response = json.loads(body) model = models.DescribeDBDiagEventResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeDBDiagHistory(self, request): """获取实例诊断事件的列表。 :param request: Request instance for DescribeDBDiagHistory. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeDBDiagHistoryRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeDBDiagHistoryResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeDBDiagHistory", params, headers=headers) response = json.loads(body) model = models.DescribeDBDiagHistoryResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeDBDiagReportTasks(self, request): """查询健康报告生成任务列表。 :param request: Request instance for DescribeDBDiagReportTasks. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeDBDiagReportTasksRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeDBDiagReportTasksResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeDBDiagReportTasks", params, headers=headers) response = json.loads(body) model = models.DescribeDBDiagReportTasksResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeDBSpaceStatus(self, request): """获取指定时间段内的实例空间使用概览,包括磁盘增长量(MB)、磁盘剩余(MB)、磁盘总量(MB)及预计可用天数。 :param request: Request instance for DescribeDBSpaceStatus. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeDBSpaceStatusRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeDBSpaceStatusResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeDBSpaceStatus", params, headers=headers) response = json.loads(body) model = models.DescribeDBSpaceStatusResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeDiagDBInstances(self, request): """获取实例信息列表。Region统一选择广州。 :param request: Request instance for DescribeDiagDBInstances. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeDiagDBInstancesRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeDiagDBInstancesResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeDiagDBInstances", params, headers=headers) response = json.loads(body) model = models.DescribeDiagDBInstancesResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeHealthScore(self, request): """根据实例ID获取指定时间段(30分钟)的健康得分,以及异常扣分项。 :param request: Request instance for DescribeHealthScore. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeHealthScoreRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeHealthScoreResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeHealthScore", params, headers=headers) response = json.loads(body) model = models.DescribeHealthScoreResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeMailProfile(self, request): """获取发送邮件的配置, 包括数据库巡检的邮件配置以及定期生成健康报告的邮件发送配置。Region统一选择广州。 :param request: Request instance for DescribeMailProfile. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeMailProfileRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeMailProfileResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeMailProfile", params, headers=headers) response = json.loads(body) model = models.DescribeMailProfileResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeSecurityAuditLogDownloadUrls(self, request): """查询安全审计日志导出文件下载链接。目前日志文件下载仅提供腾讯云内网地址,请通过广州地域的腾讯云服务器进行下载。 :param request: Request instance for DescribeSecurityAuditLogDownloadUrls. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeSecurityAuditLogDownloadUrlsRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeSecurityAuditLogDownloadUrlsResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeSecurityAuditLogDownloadUrls", params, headers=headers) response = json.loads(body) model = models.DescribeSecurityAuditLogDownloadUrlsResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeSecurityAuditLogExportTasks(self, request): """查询安全审计日志导出任务列表。 :param request: Request instance for DescribeSecurityAuditLogExportTasks. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeSecurityAuditLogExportTasksRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeSecurityAuditLogExportTasksResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeSecurityAuditLogExportTasks", params, headers=headers) response = json.loads(body) model = models.DescribeSecurityAuditLogExportTasksResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeSlowLogTimeSeriesStats(self, request): """获取慢日志统计柱状图。 :param request: Request instance for DescribeSlowLogTimeSeriesStats. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeSlowLogTimeSeriesStatsRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeSlowLogTimeSeriesStatsResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeSlowLogTimeSeriesStats", params, headers=headers) response = json.loads(body) model = models.DescribeSlowLogTimeSeriesStatsResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeSlowLogTopSqls(self, request): """按照Sql模板+schema的聚合方式,统计排序指定时间段内的top慢sql。 :param request: Request instance for DescribeSlowLogTopSqls. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeSlowLogTopSqlsRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeSlowLogTopSqlsResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeSlowLogTopSqls", params, headers=headers) response = json.loads(body) model = models.DescribeSlowLogTopSqlsResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeSlowLogUserHostStats(self, request): """获取慢日志来源地址统计分布图。 :param request: Request instance for DescribeSlowLogUserHostStats. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeSlowLogUserHostStatsRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeSlowLogUserHostStatsResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeSlowLogUserHostStats", params, headers=headers) response = json.loads(body) model = models.DescribeSlowLogUserHostStatsResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeTopSpaceSchemaTimeSeries(self, request): """获取实例占用空间最大的前几个库在指定时间段内的每日由DBbrain定时采集的空间数据,默认返回按大小排序。 :param request: Request instance for DescribeTopSpaceSchemaTimeSeries. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeTopSpaceSchemaTimeSeriesRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeTopSpaceSchemaTimeSeriesResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeTopSpaceSchemaTimeSeries", params, headers=headers) response = json.loads(body) model = models.DescribeTopSpaceSchemaTimeSeriesResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeTopSpaceSchemas(self, request): """获取实例Top库的实时空间统计信息,默认返回按大小排序。 :param request: Request instance for DescribeTopSpaceSchemas. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeTopSpaceSchemasRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeTopSpaceSchemasResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeTopSpaceSchemas", params, headers=headers) response = json.loads(body) model = models.DescribeTopSpaceSchemasResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeTopSpaceTableTimeSeries(self, request): """获取实例占用空间最大的前几张表在指定时间段内的每日由DBbrain定时采集的空间数据,默认返回按大小排序。 :param request: Request instance for DescribeTopSpaceTableTimeSeries. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeTopSpaceTableTimeSeriesRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeTopSpaceTableTimeSeriesResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeTopSpaceTableTimeSeries", params, headers=headers) response = json.loads(body) model = models.DescribeTopSpaceTableTimeSeriesResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeTopSpaceTables(self, request): """获取实例Top表的实时空间统计信息,默认返回按大小排序。 :param request: Request instance for DescribeTopSpaceTables. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeTopSpaceTablesRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeTopSpaceTablesResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeTopSpaceTables", params, headers=headers) response = json.loads(body) model = models.DescribeTopSpaceTablesResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def DescribeUserSqlAdvice(self, request): """获取SQL优化建议。 :param request: Request instance for DescribeUserSqlAdvice. :type request: :class:`tencentcloud.dbbrain.v20191016.models.DescribeUserSqlAdviceRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.DescribeUserSqlAdviceResponse` """ try: params = request._serialize() headers = request.headers body = self.call("DescribeUserSqlAdvice", params, headers=headers) response = json.loads(body) model = models.DescribeUserSqlAdviceResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e)) def ModifyDiagDBInstanceConf(self, request): """修改实例巡检开关。 :param request: Request instance for ModifyDiagDBInstanceConf. :type request: :class:`tencentcloud.dbbrain.v20191016.models.ModifyDiagDBInstanceConfRequest` :rtype: :class:`tencentcloud.dbbrain.v20191016.models.ModifyDiagDBInstanceConfResponse` """ try: params = request._serialize() headers = request.headers body = self.call("ModifyDiagDBInstanceConf", params, headers=headers) response = json.loads(body) model = models.ModifyDiagDBInstanceConfResponse() model._deserialize(response["Response"]) return model except Exception as e: if isinstance(e, TencentCloudSDKException): raise else: raise TencentCloudSDKException(type(e).__name__, str(e))
Memory