All Products
Search
Document Center

Database Autonomy Service:GetRequestDiagnosisResult

Last Updated:Jun 10, 2026

Panggil GetRequestDiagnosisResult untuk mengambil hasil diagnosis SQL.

Deskripsi operasi

API ini memiliki prasyarat berikut:

  • Saat Anda menggunakan SDK untuk memanggil layanan DAS, Anda harus mengatur region ke cn-shanghai.

  • API ini tidak mendukung kueri hasil diagnosis untuk optimasi SQL otomatis.

  • API ini mendukung mesin database berikut:

    • RDS MySQL

    • RDS PostgreSQL

    • RDS SQL Server

    • PolarDB for MySQL

    • PolarDB for PostgreSQL (Kompatibel dengan Oracle)

    • ApsaraDB for MongoDB

Catatan

Instans RDS PostgreSQL memerlukan versi kernel minor 20220130 atau yang lebih baru. Untuk melihat dan mengupgrade versi kernel minor, lihat Upgrade versi kernel minor.

Coba sekarang

Coba API ini di OpenAPI Explorer tanpa perlu penandatanganan manual. Panggilan yang berhasil akan secara otomatis menghasilkan contoh kode SDK sesuai dengan parameter Anda. Unduh kode tersebut dengan kredensial bawaan yang aman untuk penggunaan lokal.

Test

RAM authorization

Tabel berikut menjelaskan otorisasi yang diperlukan untuk memanggil API ini. Anda dapat menentukannya dalam kebijakan Resource Access Management (RAM). Kolom pada tabel dijelaskan sebagai berikut:

  • Action: Aksi yang dapat digunakan dalam elemen Action pada pernyataan kebijakan izin RAM untuk memberikan izin guna melakukan operasi tersebut.

  • API: API yang dapat Anda panggil untuk melakukan aksi tersebut.

  • Access level: Tingkat akses yang telah ditentukan untuk setiap API. Nilai yang valid: create, list, get, update, dan delete.

  • Resource type: Jenis resource yang mendukung otorisasi untuk melakukan aksi tersebut. Ini menunjukkan apakah aksi tersebut mendukung izin tingkat resource. Resource yang ditentukan harus kompatibel dengan aksi tersebut. Jika tidak, kebijakan tersebut tidak akan berlaku.

    • Untuk API dengan izin tingkat resource, jenis resource yang diperlukan ditandai dengan tanda bintang (*). Tentukan Nama Sumber Daya Alibaba Cloud (ARN) yang sesuai dalam elemen Resource pada kebijakan.

    • Untuk API tanpa izin tingkat resource, ditampilkan sebagai All Resources. Gunakan tanda bintang (*) dalam elemen Resource pada kebijakan.

  • Condition key: Kunci kondisi yang didefinisikan oleh layanan. Kunci ini memungkinkan kontrol granular, berlaku baik hanya untuk aksi maupun untuk aksi yang terkait dengan resource tertentu. Selain kunci kondisi spesifik layanan, Alibaba Cloud menyediakan serangkaian common condition keys yang berlaku di semua layanan yang didukung RAM.

  • Dependent action: Aksi dependen yang diperlukan untuk menjalankan aksi tersebut. Untuk menyelesaikan aksi tersebut, pengguna RAM atau role RAM harus memiliki izin untuk melakukan semua aksi dependen.

Action

Access level

Resource type

Condition key

Dependent action

hdm:GetRequestDiagnosisResult

get

*全部资源

*

None None

Parameter permintaan

Parameter

Type

Required

Description

Example

InstanceId

string

Yes

ID instans.

rm-0iwhhl8gx0ld6****

NodeId

string

No

ID node.

Catatan

Parameter ini diperlukan untuk instans kluster seperti PolarDB for MySQL, PolarDB for PostgreSQL (kompatibel dengan Oracle), dan ApsaraDB for MongoDB.

202****

MessageId

string

Yes

ID diagnosis unik yang dikembalikan oleh operasi CreateRequestDiagnosis.

Catatan

Jika MessageId adalah ID diagnosis untuk optimasi SQL otomatis, operasi ini tidak mengembalikan hasil diagnosis.

61820b594664275c4429****

SqlId

string

No

ID template SQL.

Catatan

Parameter ini untuk penggunaan internal konsol DAS. Anda tidak perlu menentukan parameter ini.

None

Source

string

No

Sumber tugas.

Catatan

Parameter ini untuk penggunaan internal konsol DAS. Anda tidak perlu menentukan parameter ini.

None

Elemen respons

Element

Type

Description

Example

object

Parameter respons.

Message

string

Pesan respons.

Catatan

Parameter ini mengembalikan Successful jika permintaan berhasil. Jika permintaan gagal, akan mengembalikan pesan kesalahan, yang mungkin menyertakan kode kesalahan.

Successful

RequestId

string

ID permintaan.

800FBAF5-A539-5B97-A09E-C63AB2F7****

Data

object

Data yang dikembalikan.

messageId

string

ID unik diagnosis.

61820b594664275c4429****

uuid

string

Pengidentifikasi unik dari instans yang didiagnosis.

hdm_51fe9bc19ec413f4d530431af87a****

accountId

string

ID pengguna.

2093****

sqlId

string

ID template SQL.

0c95dae3afef77be06572612df9b****

engine

string

Mesin database. Nilai yang valid:

  • MySQL

  • PostgreSQL

  • SQL Server

  • PolarDB-X

  • PolarDB for Oracle

  • MongoDB

MySQL

dbSchema

string

Nama database.

das

param

string

Informasi tambahan.

{"":""}

state

integer

Status diagnosis. Nilai yang valid:

  • 0: Sedang berlangsung.

  • 1: Kesalahan diagnosis.

  • 2: Selesai.

  • 3: Kesalahan SQL.

  • 4: Kesalahan mesin.

2

result

string

Rincian hasil diagnosis SQL, dikembalikan sebagai string berformat JSON.

  • endTime: Waktu berakhirnya diagnosis SQL.

  • errorCode: Kode kesalahan.

    • 0001: Diagnosis berhasil.

    • 0003: Diagnosis gagal.

  • errorMessage: Pesan kesalahan.

  • estimateCost: Biaya estimasi.

    • cpu: Biaya CPU estimasi dari kueri.

    • io: Biaya I/O estimasi dari kueri.

    • rows: Jumlah baris estimasi yang dikembalikan oleh kueri.

  • improvement: Rasio peningkatan kinerja.

  • indexAdvices: Saran indeks.

    • columns: Kolom indeks.

    • ddlAddIndex: Pernyataan DDL untuk membuat indeks.

    • indexName: Nama indeks.

    • schemaName: Nama skema.

    • tableName: Nama tabel.

    • unique: Menunjukkan apakah indeks adalah indeks unik.

  • ip: Alamat IP instans.

  • messageId: ID diagnosis.

  • port: Port instans.

  • sqlTag: Tag SQL.

    • PRED_EQUAL: Predikat kesetaraan.

    • CNT_QB: Jumlah blok kueri.

    • CNT_TB: Jumlah tabel.

    • JOIN_LEFT: Left join.

    • SEL_SMALL: Pemilihan kumpulan hasil kecil.

    • AGGR_SEL: Pemilihan agregat.

    • PRED_LT_EQ / PRED_GT_EQ: Predikat kurang-dari-atau-sama-dengan / lebih-dari-atau-sama-dengan.

    • PRED_LIKE_PREFIX: Pencocokan awalan LIKE.

    • ORDER_BY: Berisi klausa ORDER BY.

    • LIMIT: Berisi klausa LIMIT.

    • GROUP_BY: Berisi klausa GROUP BY.

    • JOIN_INNER: Inner join.

    • JOIN_RIGHT: Right join.

    • HAVING: Berisi klausa HAVING.

    • UNION: Berisi operasi UNION.

  • startTime: Waktu mulai diagnosis SQL.

  • success: Menunjukkan apakah diagnosis berhasil.

  • support: Menunjukkan apakah pernyataan SQL dapat didiagnosis.

    • true: Didukung.

    • false: Tidak didukung.

  • tuningAdvices: Saran penulisan ulang SQL.

{ "endTime":1636354256000, "errorCode":"0001", "errorMessage":"TFX成功", "estimateCost":{ "cpu":1.7878745150389268, "io":9.948402604746128, "rows":8.889372575194633 }, "improvement":12933.97, "indexAdvices":[ { "columns":[ "work_no" ], "ddlAddIndex":"ALTER TABLE `test`.`work_order` ADD INDEX `idx_workno` (`work_no`)", "indexName":"idx_workno", "schemaName":"test", "tableName":"work_order", "unique":false } ], "ip":"****.mysql.rds.aliyuncs.com", "messageId":"6188c8cb2f1365b16aee****", "port":3306, "sqlTag":"{\"PRED_EQUAL\":\"Y\",\"CNT_QB\":\"1\",\"CNT_TB\":\"1\"}", "startTime":1636354252000, "success":true, "support":true, "tuningAdvices":[ ] }

gmtCreate

string

Waktu pembuatan diagnosis SQL, disediakan sebagai timestamp Unix dalam milidetik.

1633071840000

gmtModified

string

Waktu modifikasi terakhir dari diagnosis SQL, disediakan sebagai timestamp Unix dalam milidetik.

1633071850000

Code

string

Kode status yang dikembalikan.

200

Success

string

Menunjukkan apakah permintaan berhasil. Nilai yang valid:

  • true: Permintaan berhasil.

  • false: Permintaan gagal.

true

Contoh

Respons sukses

JSONformat

{
  "Message": "Successful",
  "RequestId": "800FBAF5-A539-5B97-A09E-C63AB2F7****",
  "Data": {
    "messageId": "61820b594664275c4429****",
    "uuid": "hdm_51fe9bc19ec413f4d530431af87a****",
    "accountId": "2093****",
    "sqlId": "0c95dae3afef77be06572612df9b****",
    "engine": "MySQL",
    "dbSchema": "das",
    "param": "{\"\":\"\"}",
    "state": 2,
    "result": "{ \"endTime\":1636354256000, \"errorCode\":\"0001\", \"errorMessage\":\"TFX成功\", \"estimateCost\":{ \"cpu\":1.7878745150389268, \"io\":9.948402604746128, \"rows\":8.889372575194633 }, \"improvement\":12933.97, \"indexAdvices\":[ { \"columns\":[ \"work_no\" ], \"ddlAddIndex\":\"ALTER TABLE `test`.`work_order` ADD INDEX `idx_workno` (`work_no`)\", \"indexName\":\"idx_workno\", \"schemaName\":\"test\", \"tableName\":\"work_order\", \"unique\":false } ], \"ip\":\"****.mysql.rds.aliyuncs.com\", \"messageId\":\"6188c8cb2f1365b16aee****\", \"port\":3306, \"sqlTag\":\"{\\\"PRED_EQUAL\\\":\\\"Y\\\",\\\"CNT_QB\\\":\\\"1\\\",\\\"CNT_TB\\\":\\\"1\\\"}\", \"startTime\":1636354252000, \"success\":true, \"support\":true, \"tuningAdvices\":[ ] }",
    "gmtCreate": "1633071840000",
    "gmtModified": "1633071850000"
  },
  "Code": "200",
  "Success": "true"
}

Kode kesalahan

HTTP status code

Error code

Error message

Description

400 InvalidParams The request parameters are invalid.
403 NoPermission You are not authorized to do this action.

Lihat Error Codes untuk daftar lengkap.

Catatan rilis

Lihat Release Notes untuk daftar lengkap.