Este tópico demonstra como chamar a API GetInstanceInspections com o SDK Python do Database Autonomy Service (DAS). Essa API recupera os resultados de inspeção e pontuação de uma instância de banco de dados.
Consulte a documentação da API
Antes de chamar uma API, consulte a documentação correspondente para compreender os parâmetros e as permissões necessários. Para mais informações, veja API overview.
Crie um usuário RAM e conceda permissões
Se você já criou um usuário RAM e concedeu as permissões necessárias, ignore esta etapa.
-
Crie um usuário RAM:
Acesse a página Users e clique em Create User.
Defina Logon Name como das-openapi-operator. Em Access Method, selecione Programmatic access.
Clique em OK para criar o usuário RAM e salve o AccessKey ID e o AccessKey Secret.
-
Conceda permissões:
Acesse a página Users. Na coluna Actions do usuário RAM de destino, clique em Add Permissions.
-
Na caixa de pesquisa, insira
DASe selecione a política AliyunHDMReadOnlyAccess.NotaA política AliyunHDMReadOnlyAccess concede permissões somente leitura no DAS. Você também pode selecionar a política AliyunHDMFullAccess para obter permissões completas de gerenciamento ou criar uma política personalizada. Para mais informações, veja Create a custom policy.
Clique em OK para concluir a autorização.
Chame a API
Este tópico usa o SDK Python como exemplo. O processo é semelhante para SDKs em outras linguagens. Para mais informações, consulte Database Autonomy Service (DAS) SDK.
Prepare o ambiente Python
Baixe e instale o Python 3. Caso o Python já esteja instalado, execute o comando a seguir para verificar a versão: python --version.
Configure as variáveis de ambiente
Configure as variáveis de ambiente ALIBABA_CLOUD_ACCESS_KEY_ID e ALIBABA_CLOUD_ACCESS_KEY_SECRET.
-
No Linux e macOS, substitua
<ACCESS_KEY_ID>e<ACCESS_KEY_SECRET>pelo seu AccessKey ID e AccessKey Secret e execute os comandos a seguir no terminal:export ALIBABA_CLOUD_ACCESS_KEY_ID=<ACCESS_KEY_ID> export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<ACCESS_KEY_SECRET> No Windows, crie variáveis de ambiente chamadas
ALIBABA_CLOUD_ACCESS_KEY_IDeALIBABA_CLOUD_ACCESS_KEY_SECRETe defina seus valores com o seu AccessKey ID e AccessKey Secret. Reinicie o sistema.
Instale as dependências
Execute o comando a seguir no terminal para instalar as dependências necessárias:
pip install alibabacloud_das20200116==2.4.2
Baixe o código de exemplo
Acesse a página do OpenAPI Explorer para GetInstanceInspections.
-
Na aba Parameter Configuration, configure os parâmetros conforme descrito abaixo. Este exemplo utiliza uma instância ApsaraDB RDS for MySQL.
Parâmetro
Valor
Engine
MySQL
StartTime
1718776527000
ImportanteHora de início da tarefa. Especifique um timestamp UNIX em milissegundos. Substitua o valor de exemplo pela sua hora de início real.
EndTime
1718776827000
Importante-
Hora de término da tarefa. Especifique um timestamp UNIX em milissegundos. Substitua o valor de exemplo pela sua hora de término real.
-
A consulta retorna tarefas de inspeção e pontuação concluídas dentro do intervalo de tempo especificado. Se nenhuma tarefa for encontrada, execute manualmente uma inspeção em uma instância e tente novamente após a conclusão da tarefa. Para saber como fazer isso, veja Inspection and scoring.
InstanceArea
RDS
PageNo
1
PageSize
10
-
Na aba SDK Sample Code à direita, selecione Python e clique em Download Project.
Extraia o pacote e acesse o diretório alibabacloud_sample.
Execute o código de exemplo
Execute o seguinte comando:
python sample.py
Veja a seguir um exemplo de resposta:
{
"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
}
}