All Products
Search
Document Center

Database Autonomy Service:Gunakan DAS SDK untuk Python

Last Updated:Mar 28, 2026

Panduan ini menjelaskan cara menggunakan Database Autonomy Service (DAS) SDK untuk Python guna memanggil operasi API GetInstanceInspections, yang mengambil hasil inspeksi dan penilaian untuk sebuah instans database.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Cara kerja

Contoh dalam panduan ini melakukan hal berikut:

  1. Melakukan autentikasi menggunakan kredensial dari variabel lingkungan.

  2. Memanggil GetInstanceInspections untuk mengkueri tugas inspeksi dan penilaian yang telah selesai dalam rentang waktu tertentu.

  3. Mengembalikan daftar hasil inspeksi yang dipaginasi, termasuk skor, detail instans, dan data diagnostik.

Untuk daftar lengkap operasi API DAS, lihat Referensi API DAS. Untuk SDK dalam bahasa lain, lihat DAS SDK.

Menyiapkan RAM user

Lewati bagian ini jika Anda sudah memiliki pengguna Resource Access Management (RAM) dengan izin DAS.

  1. Buat pengguna RAM.

    1. Masuk ke Konsol RAM, buka halaman Users, lalu klik Create User.

    2. Atur Logon Name menjadi das-openapi-operator dan atur Access Mode menjadi Using permanent AccessKey to access.

    3. Klik OK. Simpan ID AccessKey dan rahasia AccessKey yang ditampilkan setelah pembuatan.

  2. Berikan izin kepada pengguna RAM.

    1. Di halaman Users, temukan pengguna RAM tersebut dan klik Grant permissions pada kolom Actions.

    2. Cari DAS dan pilih AliyunHDMReadOnlyAccess.

      Catatan

      AliyunHDMReadOnlyAccess memberikan akses read-only ke DAS. Untuk akses baca-tulis penuh, pilih AliyunHDMFullAccess sebagai gantinya. Untuk membuat kebijakan kustom dengan izin spesifik, lihat Buat kebijakan kustom.

    3. Klik Grant permissions.

Mengonfigurasi variabel lingkungan

Simpan kredensial Anda sebagai variabel lingkungan untuk menghindari hardcoding nilai sensitif dalam kode Anda.

Linux atau macOS:

export ALIBABA_CLOUD_ACCESS_KEY_ID=<ACCESS_KEY_ID>
export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<ACCESS_KEY_SECRET>

Windows (Command Prompt):

set ALIBABA_CLOUD_ACCESS_KEY_ID=<ACCESS_KEY_ID>
set ALIBABA_CLOUD_ACCESS_KEY_SECRET=<ACCESS_KEY_SECRET>

Windows (PowerShell):

$env:ALIBABA_CLOUD_ACCESS_KEY_ID = "<ACCESS_KEY_ID>"
$env:ALIBABA_CLOUD_ACCESS_KEY_SECRET = "<ACCESS_KEY_SECRET>"
Catatan

Perintah set dan $env: bersifat sesi — variabel akan hilang ketika Anda menutup terminal atau me-restart Windows. Untuk mengatur variabel lingkungan permanen di Windows, gunakan dialog Windows System Properties (Control Panel > System > Advanced system settings > Environment Variables) atau buat file yang mengatur variabel ini dan restart Windows.

Ganti <ACCESS_KEY_ID> dan <ACCESS_KEY_SECRET> dengan nilai yang Anda simpan saat membuat pengguna RAM.

Menginstal SDK

Kami menyarankan menggunakan virtual environment untuk menghindari konflik dependensi dengan paket lain di sistem Anda:

python -m venv .venv
source .venv/bin/activate  # Di Windows: .venv\Scripts\activate

Kemudian instal DAS Python SDK:

pip install alibabacloud_das20200116==2.4.2

Memanggil API

Mendapatkan kode contoh

Kode contoh dibuat secara otomatis oleh OpenAPI Explorer berdasarkan parameter yang Anda konfigurasi.

  1. Buka halaman GetInstanceInspections di OpenAPI Explorer.

  2. Di tab Parameters, atur parameter berikut. Contoh ini mengkueri inspeksi pada instans ApsaraDB RDS for MySQL.

    ParameterNilai contohCatatan
    EngineMySQL
    StartTime1718776527000Stempel waktu UNIX dalam milidetik. Atur ini ke awal sebenarnya dari rentang kueri Anda.
    EndTime1718776827000Stempel waktu UNIX dalam milidetik. Atur ini ke akhir sebenarnya dari rentang kueri Anda. Jika tidak ada inspeksi yang selesai dalam rentang tersebut, jalankan inspeksi secara manual dan coba lagi.
    InstanceAreaRDS
    PageNo1
    PageSize10
  3. Di tab SDK Sample Code di sebelah kanan, pilih Python untuk parameter Languages dan klik Download Project.

  4. Ekstrak paket yang diunduh dan masuk ke direktori alibabacloud_sample.

Menjalankan kode contoh

python sample.py

Memahami respons

Pemanggilan yang berhasil mengembalikan kode status HTTP 200. Badan respons memiliki struktur berikut:

FieldDeskripsi
Data.ListArray catatan inspeksi. Setiap catatan berisi metadata instans, data diagnostik, dan skor.
Data.List[].ScoreSkor inspeksi untuk instans tersebut.
Data.List[].StateStatus tugas.
Data.List[].TaskTypeJenis tugas.
Data.List[].InstanceDetail instans: engine, versi, wilayah, CPU, memori, penyimpanan, dan jenis jaringan.
Data.List[].DataData diagnostik: jumlah SQL lambat, pendeteksian deadlock, sesi aktif, transaksi besar, dan penggunaan penyimpanan.
Data.PageNoNomor halaman saat ini.
Data.PageSizeJumlah catatan per halaman.
Data.TotalTotal jumlah catatan yang cocok.

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
  }
}

Langkah selanjutnya

  • Inspeksi dan penilaian — Pelajari cara melihat dan menginterpretasikan hasil inspeksi di Konsol DAS.

  • Referensi API DAS — Jelajahi semua operasi API yang tersedia.

  • DAS SDK — Unduh SDK untuk Java, Go, Node.js, dan bahasa lainnya.