Topik ini menjelaskan cara memanggil API GetInstanceInspections menggunakan Python SDK untuk Database Autonomy Service (DAS). API ini mengambil hasil inspeksi dan penilaian untuk sebuah instans database.
Tinjau dokumentasi API
Sebelum memanggil API, tinjau dokumentasinya untuk memahami parameter yang diperlukan dan izin yang dibutuhkan. Untuk informasi selengkapnya, lihat Ikhtisar API.
Buat pengguna RAM dan berikan izin
Jika Anda telah membuat pengguna RAM dan memberikan izin yang diperlukan, langkah ini dapat dilewati.
-
Buat pengguna RAM:
-
Buka halaman Users dan klik Create User.
-
Atur Logon Name menjadi das-openapi-operator. Untuk Access Method, pilih Programmatic access.
-
Klik OK untuk membuat pengguna RAM, lalu simpan ID AccessKey dan AccessKey Secret.
-
-
Berikan izin:
-
Buka halaman Users. Pada kolom Actions untuk pengguna RAM yang dituju, klik Add Permissions.
-
Pada kotak pencarian, masukkan
DASdan pilih kebijakan AliyunHDMReadOnlyAccess.CatatanKebijakan AliyunHDMReadOnlyAccess memberikan izin read-only pada DAS. Anda juga dapat memilih kebijakan AliyunHDMFullAccess untuk izin manajemen penuh atau membuat kebijakan kustom. Untuk informasi selengkapnya, lihat Buat kebijakan kustom.
-
Klik OK untuk menyelesaikan otorisasi.
-
Panggil API
Topik ini menggunakan Python SDK sebagai contoh. Prosesnya serupa untuk SDK dalam bahasa lain. Untuk informasi selengkapnya, lihat Database Autonomy Service (DAS) SDK.
Siapkan lingkungan Python
Unduh dan instal Python 3. Jika Python sudah terinstal, jalankan perintah berikut untuk memeriksa versinya: python --version.
Konfigurasikan variabel lingkungan
Konfigurasikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET.
-
Untuk Linux dan macOS, ganti
<ACCESS_KEY_ID>dan<ACCESS_KEY_SECRET>dengan ID AccessKey dan AccessKey Secret Anda, lalu jalankan perintah berikut di terminal:export ALIBABA_CLOUD_ACCESS_KEY_ID=<ACCESS_KEY_ID> export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<ACCESS_KEY_SECRET> -
Untuk Windows, buat variabel lingkungan bernama
ALIBABA_CLOUD_ACCESS_KEY_IDdanALIBABA_CLOUD_ACCESS_KEY_SECRET, lalu atur nilainya sesuai dengan ID AccessKey dan AccessKey Secret Anda. Setelah itu, mulai ulang sistem.
Instal dependensi
Jalankan perintah berikut di terminal untuk menginstal dependensi yang diperlukan:
pip install alibabacloud_das20200116==2.4.2
Unduh kode contoh
-
Buka halaman OpenAPI Explorer untuk GetInstanceInspections.
-
Pada tab Parameter Configuration, konfigurasikan parameter sebagai berikut. Contoh ini menggunakan instans ApsaraDB RDS for MySQL.
Parameter
Nilai
Engine
MySQL
StartTime
1718776527000
PentingWaktu mulai tugas. Tentukan stempel waktu UNIX dalam milidetik. Ganti nilai contoh dengan waktu mulai aktual Anda.
EndTime
1718776827000
Penting-
Waktu akhir tugas. Tentukan stempel waktu UNIX dalam milidetik. Ganti nilai contoh dengan waktu akhir aktual Anda.
-
Kueri ini mengembalikan tugas inspeksi dan penilaian yang telah selesai dalam rentang waktu yang ditentukan. Jika tidak ada tugas yang ditemukan, jalankan inspeksi secara manual pada sebuah instans dan coba lagi setelah tugas selesai. Untuk mempelajari caranya, lihat Inspeksi dan penilaian.
InstanceArea
RDS
PageNo
1
PageSize
10
-
-
Pada tab SDK Sample Code di sebelah kanan, pilih Python dan klik Download Project.
-
Ekstrak paket tersebut dan masuk ke direktori alibabacloud_sample.
Jalankan kode contoh
Jalankan perintah berikut:
python sample.py
Berikut adalah contoh respons:
{
"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
}
}