Este tema muestra cómo llamar a la API GetInstanceInspections mediante el SDK de Python para Database Autonomy Service (DAS). Esta API obtiene los resultados de inspección y puntuación de una instancia de base de datos.
Consulte la documentación de la API
Antes de llamar a una API, revise su documentación para conocer los parámetros obligatorios y los permisos necesarios. Para obtener más información, consulte API descripción general.
Cree un usuario de RAM y otorgue permisos
Si ya creó un usuario de RAM y le otorgó los permisos necesarios, omita este paso.
-
Cree un usuario de RAM:
Vaya a la página Users y haga clic en Create User.
Establezca Logon Name como das-openapi-operator. En Access Method, seleccione Programmatic access.
Haga clic en OK para crear el usuario de RAM y guarde el AccessKey ID y el AccessKey Secret.
-
Otorgue permisos:
Vaya a la página Users. En la columna Actions del usuario de RAM correspondiente, haga clic en Add Permissions.
-
En el cuadro de búsqueda, introduzca
DASy seleccione la política AliyunHDMReadOnlyAccess.NotaLa política AliyunHDMReadOnlyAccess otorga permisos de solo lectura sobre DAS. También puede seleccionar la política AliyunHDMFullAccess para obtener permisos de administración completos o crear una política personalizada. Para obtener más información, consulte Create a custom policy.
Haga clic en OK para completar la autorización.
Llame a la API
Este tema usa el SDK de Python como ejemplo. El proceso es similar para los SDK en otros lenguajes. Para obtener más información, consulte Database Autonomy Service (DAS) SDK.
Prepare el entorno de Python
Descargue e instale Python 3. Si ya tiene Python instalado, ejecute el siguiente comando para comprobar la versión: python --version.
Configure las variables de entorno
Configure las variables de entorno ALIBABA_CLOUD_ACCESS_KEY_ID y ALIBABA_CLOUD_ACCESS_KEY_SECRET.
-
Para Linux y macOS, reemplace
<ACCESS_KEY_ID>y<ACCESS_KEY_SECRET>con su AccessKey ID y AccessKey Secret, y ejecute los siguientes comandos en la terminal:export ALIBABA_CLOUD_ACCESS_KEY_ID=<ACCESS_KEY_ID> export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<ACCESS_KEY_SECRET> Para Windows, cree variables de entorno llamadas
ALIBABA_CLOUD_ACCESS_KEY_IDyALIBABA_CLOUD_ACCESS_KEY_SECRET, y establezca sus valores con su AccessKey ID y AccessKey Secret. Reinicie el sistema.
Instale las dependencias
Ejecute el siguiente comando en la terminal para instalar las dependencias necesarias:
pip install alibabacloud_das20200116==2.4.2
Descargue el código de ejemplo
Vaya a la página de OpenAPI Explorer para GetInstanceInspections.
-
En la pestaña Parameter Configuration, configure los parámetros como se indica a continuación. Este ejemplo utiliza una instancia de ApsaraDB RDS for MySQL.
Parámetro
Valor
Engine
MySQL
StartTime
1718776527000
ImportanteHora de inicio de la tarea. Especifique una marca de tiempo UNIX en milisegundos. Reemplace el valor de ejemplo con su hora de inicio real.
EndTime
1718776827000
Importante-
Hora de finalización de la tarea. Especifique una marca de tiempo UNIX en milisegundos. Reemplace el valor de ejemplo con su hora de finalización real.
-
La consulta devuelve tareas de inspección y puntuación completadas dentro del intervalo de tiempo especificado. Si no se encuentran tareas, ejecute manualmente una inspección en una instancia e inténtelo de nuevo cuando la tarea finalice. Para saber cómo hacerlo, consulte Inspection and scoring.
InstanceArea
RDS
PageNo
1
PageSize
10
-
En la pestaña SDK Sample Code de la derecha, seleccione Python y haga clic en Download Project.
Extraiga el paquete y vaya al directorio alibabacloud_sample.
Ejecute el código de ejemplo
Ejecute el siguiente comando:
python sample.py
A continuación se muestra una respuesta de ejemplo:
{
"headers": {
"date": "Wed, 19 Jun 2024 06:24:10 GMT",
"content-type": "application/json;charset=utf-8",
"content-length": "1428",
"connection": "keep-alive",
"keep-alive": "timeout=25",
"vary": "Accept-Encoding",
"access-control-allow-origin": "*",
"access-control-expose-headers": "*",
"x-acs-request-id": "B576DACC-D08A-5058-8843-E613CBF474CF",
"x-acs-trace-id": "2fb5b5b76565ce67233288b9369f6d96",
"etag": "1rcNeDQg43APurk7PohefuQ8"
},
"statusCode": 200,
"body": {
"Code": 200,
"Data": {
"List": [
{
"AutoFunction": {
"AutoIndex": 1,
"AutoLimitedSql": 0,
"AutoResourceOptimize": 2,
"AutoScale": 0,
"EventSubscription": 0
},
"Data": {
"hasDeadLock": false,
"slowSqlCount": 0,
"exceptionTableMap": {},
"spaceItem": {
"valid": true,
"current": 0.16416015625,
"avg": 0.16416015625,
"min": 0.16416015625,
"max": 0.16416015625
},
"maxIops": 3100,
"bigTransactionCount": 0,
"cpu": 2,
"isRds": true,
"storage": 20,
"lastHourRate": 0.0,
"lastDayCount": 0,
"lastHourCount": 0,
"slowSqlList": [],
"lastDayRate": 0.0,
"activeSessions": [],
"enable": false,
"bigTransactionList": [],
"bigSessionList": [
{
"User": "system user",
"Command": "Query",
"State": "Replica has read all relay log; waiting for more updates",
"active": false,
"Host": "",
"Time": 24,
"Id": 61,
"Info": "",
"db": ""
}
],
"tableStats": [],
"bigSessionCount": 1,
"spaceUsage": 0.16416015625,
"availableDays": 76
},
"EnableDasPro": 0,
"EndTime": 1718726400000,
"GmtCreate": 1718776692000,
"Instance": {
"AccountId": "1648821913965368",
"Category": "standard",
"Cpu": "2",
"Engine": "MySQL",
"EngineVersion": "8.0",
"InstanceArea": "RDS",
"InstanceClass": "mysql.n2m.medium.2c",
"InstanceId": "rm-bp1s6jtqtr41m****",
"Memory": 4096,
"NetworkType": "VPC",
"Region": "cn-hangzhou",
"Storage": 20,
"Uuid": "hdm_6d00b701adcb484d5fa4d2800dc0****",
"VpcId": "vpc-bp1ov7as4yvz4kxei****"
},
"Score": 100,
"StartTime": 1718640000000,
"State": 2,
"TaskType": 1
}
],
"PageNo": 1,
"PageSize": 10,
"Total": 1
},
"Message": "Successful",
"RequestId": "B576DACC-D08A-5058-8843-E613CBF474CF",
"Success": true
}
}