全部产品
Search
文档中心

Data Management:Akses instans database melalui HTTPS

更新时间:Jul 02, 2025

Topik ini menjelaskan cara mengakses instans database melalui HTTPS setelah fitur proxy akses aman diaktifkan untuk instans tersebut.

Prasyarat

  • Fitur proxy akses aman telah diaktifkan untuk instans database.

    Catatan

    Untuk memeriksa apakah fitur proxy akses aman telah diaktifkan untuk sebuah instans database, ikuti langkah-langkah berikut: Masuk ke konsol Data Management (DMS). Di bilah navigasi atas, pilih Security and Specifications > Secure Access Proxy > Proxy List. Pada tab Dibuat di halaman Daftar Proxy, instans dengan fitur proxy akses aman yang diaktifkan akan ditampilkan. Untuk informasi lebih lanjut tentang cara mengaktifkan fitur ini, lihat Aktifkan fitur proxy akses aman.

  • Anda memiliki otorisasi untuk mengakses instans database menggunakan titik akhir proxy.

    Catatan

    Di halaman Detail instans database, periksa apakah Anda adalah pengguna yang berwenang dari instans tersebut. Jika tidak, ajukan permintaan izin untuk menggunakan titik akhir proxy guna mengakses instans database. Untuk informasi lebih lanjut, lihat Ajukan izin untuk mengakses instans database menggunakan titik akhir proxy.

Catatan Penggunaan

Jika instans database dikelola dalam mode Kolaborasi Keamanan, maka instans tersebut dipengaruhi oleh aturan keamanan. Maksimal 100.000 baris dapat dikembalikan untuk setiap query.

Tetapkan jumlah maksimum baris yang dapat dikembalikan per query.

Masuk ke konsol Data Management (DMS). Di bilah navigasi atas, pilih Security and Specifications > Security Rules. Temukan tipe mesin MySQL dan klik Edit di kolom Tindakan. Di panel navigasi sebelah kiri, pilih Keamanan dan Spesifikasi > Secure Access Proxy. Kemudian, modifikasi jumlah maksimum baris yang dapat dikembalikan per query.

image

Catatan
  • Jika Anda tidak ingin instans database dipengaruhi oleh aturan keamanan, akses instans database menggunakan alamat koneksi yang disediakan oleh konsol database, atau hubungi dukungan teknis DMS untuk mengevaluasi skenario tertentu.

  • Jika instans database tidak dikelola dalam mode Kolaborasi Keamanan, Anda tidak dapat menyesuaikan jumlah maksimum baris yang dikembalikan per query. Secara default, jumlah maksimum baris yang dapat dikembalikan untuk setiap query adalah 3.000.

Parameter Permintaan

Parameter

Deskripsi

Diperlukan

Metode Penetapan Nilai

accessId

AccessID

Ya

Anda dapat melewatkan nilai parameter ini dengan salah satu metode berikut:

  • Sertakan parameter ini dalam string query.

    Contoh: ?accessId=ID AccessKey

  • Sertakan parameter ini dalam header permintaan.

    Contoh: accessId:ID AccessKey

accessSecret

AccessSecret

Ya

Anda dapat melewatkan nilai parameter ini dengan salah satu metode berikut:

  • Sertakan parameter ini dalam string query.

    Contoh: ?accessSecret=Rahasia AccessKey

  • Sertakan parameter ini dalam header permintaan.

    Contoh: accessSecret:Rahasia AccessKey

schema

Nama database

Tidak

Anda dapat melewatkan nilai parameter ini dengan salah satu metode berikut:

  • Sertakan parameter ini dalam URL.

    Contoh: /server/[Nama database]

  • Sertakan parameter ini dalam badan permintaan.

    Contoh: { "schema": "[Nama database]" }

sql

Pernyataan SQL

Ya

Anda dapat melewatkan nilai parameter ini dengan salah satu metode berikut:

  • Sertakan parameter ini dalam URL.

  • Sertakan parameter ini dalam badan permintaan.

    Contoh: Format teks: [Pernyataan SQL]

    Format JSON: { "sql": "[Pernyataan SQL]" }

Parameter Respons

Jika Anda mengakses instans melalui HTTPS, data dikembalikan dalam format JSON.

Tabel berikut menjelaskan parameter respons dalam format JSON.

Parameter

Tipe

Deskripsi

columnMetas

Array

Metadata kolom.

columnName

String

Nama kolom.

columnLabel

String

Label untuk kolom, yang ditentukan dalam klausa AS dalam pernyataan SQL. Jika klausa AS tidak ditentukan, nilai parameter ini sama dengan nilai parameter columnName.

columnTypeName

String

Tipe data kolom, seperti VARCHAR dan BIGINT.

precision

Integer

Presisi untuk nilai kolom. Parameter ini dapat ditentukan untuk kolom beberapa tipe data seperti VARCHAR. Contohnya, VARCHAR(32) menunjukkan bahwa presisi untuk nilai adalah 32.

scale

Integer

Skala untuk nilai kolom. Parameter ini dapat ditentukan untuk kolom tipe data floating-point untuk menunjukkan jumlah digit di sebelah kanan titik desimal dalam suatu nilai. Contohnya, DECIMAL(10,2) menunjukkan bahwa jumlah digit di sebelah kanan titik desimal adalah dua.

nullable

Boolean

Menunjukkan apakah kolom dapat dibiarkan kosong. Nilai true menunjukkan bahwa kolom dapat dibiarkan kosong. Nilai false menunjukkan bahwa Anda harus menentukan nilai untuk kolom tersebut.

autoIncrement

Boolean

Menunjukkan apakah nilai kolom bertambah secara otomatis untuk setiap baris baru. Nilai true menunjukkan bahwa kolom adalah kolom penambahan otomatis. Nilai false menunjukkan bahwa kolom bukan kolom penambahan otomatis.

tableName

String

Nama tabel tempat kolom tersebut berada.

msg

String

Pesan kesalahan yang dikembalikan jika eksekusi gagal.

updateCount

Integer

Jumlah entri yang terpengaruh oleh pernyataan DML.

requestId

String

ID permintaan. Parameter ini dapat membantu mendiagnosis masalah.

rowCount

Integer

Jumlah entri yang dikembalikan saat Anda melakukan query.

rows

Array

Entri yang dikembalikan saat Anda melakukan query. Setiap elemen dalam array menunjukkan satu baris data. Struktur data dari tipe data Array sama dengan tipe data List atau Map.

success

Boolean

Menunjukkan apakah permintaan berhasil. Nilai true menunjukkan bahwa permintaan berhasil. Nilai false menunjukkan bahwa permintaan gagal.

Contoh respons:

  • Query data berhasil

    {
      "columnMetas": [
        {
          "columnName":"kolom1",
          "columnLabel":"kolom1",
          "columnTypeName":"varchar",
          "precision":10,
          "scale":2,
          "nullable":true,
          "autoIncrement":true,
          "tableName":"tabel1"
        },
        {
          "columnName":"kolom2",
          "columnLabel":"kolom2",
          "columnTypeName":"varchar",
          "precision":10,
          "scale":2,
          "nullable":true,
          "autoIncrement":true,
          "tableName":"tabel1"
        } 
      ],
      "updateCount": 0,
      "requestId": "xhqej0xgcytbhc8scjopgqsywcaibi",
      "rowCount": 1,
      "rows": [
        {
          "col1": 1,
          "col2": "xxxx"
        }
      ],
      "success": true
    }
  • Pembaruan data berhasil

    {
      "updateCount": 0,
      "requestId": "xhqej0xgcytbhc8scjopgqsywcaibi",
      "success": true
    }
  • Kegagalan akses

    {
      "message": 'AccessID diperlukan.',
      "requestId": "xhqej0xgcytbhc8scjopgqsywcaibi",
      "success": false
    }

Contoh mengakses instans database yang memiliki fitur proxy akses aman diaktifkan

Anda dapat menggunakan perintah, klien SQL, atau kode program untuk mengakses instans database yang memiliki fitur proxy akses aman diaktifkan.

Sebagai contoh, nama domain instans adalah dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com, nama database yang akan diakses adalah database, ID AccessKey adalah user, Rahasia AccessKey adalah pwd, dan pernyataan SQL yang akan dieksekusi adalah SHOW DATABASES.

  • Gunakan perintah curl

    # Sintaks permintaan GET
    curl 'https://[Nama domain instans]/server/[Nama database]?accessId=[ID AccessKey]&accessSecret=[Rahasia AccessKey]&sql=[Pernyataan SQL]'
    # Contoh permintaan GET
    curl 'https://dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com/server/database?accessId=user&accessSecret=pwd&sql=SHOW%20DATABASES'
    # Sintaks permintaan POST
    curl 'https://[Nama domain instans]/server/[Nama database]' -H 'accessId:[ID AccessKey]' -H 'accessSecret:[Rahasia AccessKey] -H 'Content-Type:text/plain' -d '[Pernyataan SQL]'
    # Contoh permintaan POST
    curl 'https://dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com/server/database' -H 'accessId:user' -H 'accessSecret:pwd -H 'Content-Type:text/plain' -d 'SHOW DATABASES'
  • Gunakan program Python 2

    Catatan

    Dalam contoh ini, program Python 2 digunakan untuk mengakses instans database.

    Sintaks permintaan GET

    import requests
    
    url = "https://[Nama domain instans]/server/[Nama database]?accessId=[ID AccessKey]&accessSecret=[Rahasia AccessKey]&sql=[Pernyataan SQL]"
    print requests.get(url).text

    Contoh permintaan GET

    import requests
    
    url = "https://dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com/server/database?accessId=user&accessSecret=pwd&sql=SHOW DATABASES"
    print requests.get(url).text

    Sintaks permintaan POST

    import requests
    
    url = "https://[Nama domain instans]/server/[Nama database]"
    headers = {
        "Content-Type": "text/plain;charset=utf-8",
        "accessId": "[ID AccessKey]",
        "accessSecret": "[Rahasia AccessKey]"
    }
    print requests.post(url, headers=headers, data='[Pernyataan SQL]').text

    Contoh permintaan POST

    import requests
    
    url = "https://dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com/server/database"
    headers = {
        "Content-Type": "text/plain;charset=utf-8",
        "accessId": "user",
        "accessSecret": "pwd"
    }
    print requests.post(url, headers=headers, data='SHOW DATABASES').text
  • Gunakan program Node.js

    Sintaks permintaan GET

    const https = require("https");
    
    https.get("https://[Nama domain instans]/server/[nama database]?accessId=[ID AccessKey]&accessSecret=[Rahasia AccessKey]&sql=SHOW DATABASES", resp => {
        resp.on("data", data => {
            console.log(JSON.parse(data));
        });
    });

    Contoh permintaan GET

    const https = require("https");
    
    https.get("https://dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com/server/database?accessId=user&accessSecret=pwd&sql=SHOW DATABASES", resp => {
        resp.on("data", data => {
            console.log(JSON.parse(data));
        });
    });

    Sintaks permintaan POST

    const https = require("https");
    
    var req = https.request({
        hostname: '[Nama domain instans]',
        port: 443,
        path: '/server/[Nama database]',
        method: 'POST',
        headers: {
            'Content-Type': 'text/plain; charset=UTF-8',
            accessId: '[ID AccessKey]',
            accessSecret: '[Rahasia AccessKey]'
        }
    }, resp => {
        resp.on("data", data => {
            console.log(JSON.parse(data));
        });
    });
    req.write("[Pernyataan SQL]");
    req.end();

    Contoh permintaan POST

    const https = require("https");
    
    var req = https.request({
        hostname: 'dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com',
        port: 443,
        path: '/server/database',
        method: 'POST',
        headers: {
            'Content-Type': 'text/plain; charset=UTF-8',
            accessId: 'user',
            accessSecret: 'pwd'
        }
    }, resp => {
        resp.on("data", data => {
            console.log(JSON.parse(data));
        });
    });
    req.write("SHOW DATABASES");
    req.end();
  • Gunakan klien Postman

    Sintaks permintaan GETpostmanget

    Sintaks permintaan POSTpostmanpost