All Products
Search
Document Center

Data Management:Mengakses instans melalui HTTPS

Last Updated:Mar 25, 2026

Topik ini menjelaskan cara mengakses instans target melalui HTTPS setelah proxy akses aman diaktifkan.

Prasyarat

  • secure access proxy telah diaktifkan untuk instance.

    Catatan

    Di Konsol DMS, navigasikan ke Security and Specifications > Secure Access Proxy. Pada tab Created, lihat daftar instans yang telah mengaktifkan secure access proxy. Jika perlu mengaktifkannya, lihat Enable the secure access proxy.

  • Anda memiliki authorization untuk secure access proxy.

    Catatan

    Pada halaman detail secure access proxy, periksa status authorization untuk instance. Jika Anda tidak memiliki authorization, lihat Apply for secure access proxy authorization.

Pertimbangan penting

Instans secure-collaboration instance yang telah mengaktifkan secure access proxy tunduk pada aturan keamanan. Kami menyarankan agar Anda membatasi jumlah baris yang dikembalikan dalam satu kueri maksimal 3.000 baris. DMS tidak menjamin stabilitas untuk kueri yang mengembalikan lebih dari 3.000 baris.

Catatan
  • Untuk melewati batasan security rule, gunakan endpoint yang disediakan di DMS console untuk mengakses database, atau hubungi dukungan teknis DMS guna mengevaluasi kasus penggunaan spesifik Anda.

  • Untuk instans kolaborasi non-aman, Anda tidak dapat mengonfigurasi jumlah maksimum baris per kueri. Batas defaultnya adalah 3.000 baris.

Parameter permintaan

Parameter

Deskripsi

Wajib

Cara lulus

accessId

AccessKey ID Anda.

Ya

Anda dapat mengirimkan parameter ini dengan salah satu cara berikut:

  • Sebagai parameter kueri.

    Contoh: ?accessId=[your_AccessKey_ID]

  • Sebagai parameter header.

    Contoh: accessId: [your_AccessKey_ID]

accessSecret

AccessKey Secret Anda.

Ya

Anda dapat mengirimkan parameter ini dengan salah satu cara berikut:

  • Sebagai parameter kueri.

    Contoh: ?accessSecret=[your_AccessKey_Secret]

  • Sebagai parameter header.

    Contoh: accessSecret: [your_AccessKey_Secret]

schema

Nama database.

Tidak

Anda dapat mengirimkan parameter ini dengan salah satu cara berikut:

  • Sebagai parameter path URL.

    Contoh: /server/[your_database_name]

  • Dalam badan permintaan.

    Contoh: { "schema": "[your_database_name]" }

sql

Pernyataan SQL yang akan dieksekusi.

Ya

Anda dapat mengirimkan parameter ini dengan salah satu cara berikut:

  • Sebagai parameter kueri.

  • Dalam badan permintaan.

    Contoh (teks biasa): [your_sql_statement]

    Contoh (JSON): { "sql": "[your_sql_statement]" }

Bidang respons

API mengembalikan respons dalam format JSON.

Tabel berikut menjelaskan bidang-bidang dalam objek respons JSON.

Bidang

Tipe

Deskripsi

columnMetas

Array

Array metadata untuk setiap kolom.

columnName

String

Nama kolom.

columnLabel

String

Label untuk kolom, yang sesuai dengan alias yang ditentukan menggunakan klausa AS dalam pernyataan SQL. Jika tidak ada alias yang ditentukan, nilai bidang ini sama dengan columnName.

columnTypeName

String

Tipe data kolom, seperti VARCHAR atau BIGINT.

precision

Integer

Presisi kolom. Misalnya, untuk kolom VARCHAR(32), presisinya adalah 32.

scale

Integer

Scale kolom numerik, yang menunjukkan jumlah digit di sebelah kanan titik desimal. Misalnya, untuk kolom DECIMAL(10,2), scale-nya adalah 2.

nullable

Boolean

Menunjukkan apakah kolom dapat berisi nilai NULL. true: Kolom menerima nilai NULL. false: Kolom tidak menerima nilai NULL.

autoIncrement

Boolean

Menunjukkan apakah kolom merupakan kolom auto-increment. true: Kolom auto-increment. false: Tidak.

tableName

String

Nama tabel yang berisi kolom tersebut.

msg

String

Pesan kesalahan yang dikembalikan jika permintaan gagal.

updateCount

Integer

Jumlah baris yang terpengaruh oleh pernyataan DML.

requestId

String

Request ID. Anda dapat memberikan ID ini untuk troubleshooting.

rowCount

Integer

Jumlah catatan yang dikembalikan oleh kueri.

rows

Array

Daftar catatan yang dikembalikan oleh kueri. Setiap elemen dalam array merepresentasikan satu baris data, mirip dengan struktur List<Map>.

success

Boolean

Menunjukkan apakah permintaan berhasil. true: Permintaan berhasil. false: Permintaan gagal.

Kode berikut menyediakan contoh respons.

  • Kueri data yang berhasil

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

    {
      "updateCount": 0,
      "requestId": "xhqej0xgcytbhc8scjopgqsywcaibi",
      "success": true
    }
  • Permintaan gagal

    {
      "message": "accessId is required.",
      "requestId": "xhqej0xgcytbhc8scjopgqsywcaibi",
      "success": false
    }

Contoh

Anda dapat menggunakan command line, SQL client, atau kode aplikasi untuk mengakses instance yang telah mengaktifkan secure access proxy.

Asumsikan bahwa endpoint adalah dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com, nama database adalah database, AccessKey ID (dikirim sebagai accessId) adalah user, AccessKey Secret (dikirim sebagai accessSecret) adalah pwd, dan pernyataan SQL adalah show databases.

  • Contoh perintah cURL

    # Permintaan GET
    curl 'https://[your_endpoint]/server/[your_database_name]?accessId=[your_AccessKey_ID]&accessSecret=[your_AccessKey_Secret]&sql=[your_sql_statement]'
    # Contoh permintaan GET
    curl 'https://dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com/server/database?accessId=user&accessSecret=pwd&sql=SHOW%20DATABASES'
    # Permintaan POST
    curl 'https://[your_endpoint]/server/[your_database_name]' -H 'accessId:[your_AccessKey_ID]' -H 'accessSecret:[your_AccessKey_Secret]' -H 'Content-Type:text/plain' -d '[your_sql_statement]'
    # 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'
  • Contoh Python

    Catatan

    Contoh ini menggunakan Python 2.

    Permintaan GET:

    import requests
    
    url = "https://[your_endpoint]/server/[your_database_name]?accessId=[your_AccessKey_ID]&accessSecret=[your_AccessKey_Secret]&sql=[your_sql_statement]"
    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

    Permintaan POST:

    import requests
    
    url = "https://[your_endpoint]/server/[your_database_name]"
    headers = {
        "Content-Type": "text/plain;charset=utf-8",
        "accessId": "[your_AccessKey_ID]",
        "accessSecret": "[your_AccessKey_Secret]"
    }
    print requests.post(url, headers=headers, data='[your_sql_statement]').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
  • Contoh Node.js

    Permintaan GET:

    const https = require("https");
    
    https.get("https://[your_endpoint]/server/[your_database_name]?accessId=[your_AccessKey_ID]&accessSecret=[your_AccessKey_Secret]&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));
        });
    });

    Permintaan POST:

    const https = require("https");
    
    var req = https.request({
        hostname: '[your_endpoint]',
        port: 443,
        path: '/server/[your_database_name]',
        method: 'POST',
        headers: {
            'Content-Type': 'text/plain; charset=UTF-8',
            accessId: '[your_AccessKey_ID]',
            accessSecret: '[your_AccessKey_Secret]'
        }
    }, resp => {
        resp.on("data", data => {
            console.log(JSON.parse(data));
        });
    });
    req.write("[your_sql_statement]");
    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();
  • Contoh Postman

    Permintaan GET:postmanget

    Permintaan POST:postmanpost