Tous les produits
Search
Centre de documentation

Data Management:Accéder à une instance via HTTPS

Dernière mise à jour :Aug 09, 2026

Cette rubrique explique comment accéder à une instance via HTTPS en utilisant le proxy d'accès sécurisé.

Prérequis

  • Le proxy d'accès sécurisé est activé pour l'instance.

    Remarque

    Affichez les instances pour lesquelles le proxy d'accès sécurisé est activé dans l'onglet Created de la page Security and Specifications > Secure Access Proxy. Pour activer cette fonctionnalité, consultez la rubrique Activer le proxy d'accès sécurisé.

  • Vous êtes autorisé à utiliser le proxy d'accès sécurisé.

    Remarque

    Vérifiez votre statut d'autorisation pour l'instance sur la page de détails du proxy d'accès sécurisé. Si vous n'êtes pas autorisé, consultez la rubrique Demander une autorisation pour le proxy d'accès sécurisé.

Remarques d'utilisation

Des règles de sécurité s'appliquent aux instances pour lesquelles le proxy d'accès sécurisé et la collaboration sécurisée sont tous deux activés. Nous vous recommandons de limiter chaque requête à un maximum de 3 000 lignes renvoyées. Data Management Service (DMS) ne peut pas garantir la stabilité si une requête renvoie un trop grand nombre de lignes.

Remarque
  • Pour éviter les limitations imposées par les règles de sécurité, utilisez l'endpoint dans la console DMS pour accéder à la base de données ou contactez le support technique DMS afin d'évaluer votre scénario spécifique.

  • Pour les instances qui n'utilisent pas la fonctionnalité de collaboration sécurisée, vous ne pouvez pas configurer le nombre maximal de lignes à renvoyer. La limite par défaut est de 3 000 lignes.

Paramètres de requête

Paramètre

Description

Obligatoire

Méthode

accessId

L'ID AccessKey.

Oui

Transmettez ce paramètre de l'une des manières suivantes :

  • En tant que paramètre de requête.

    Exemple : ?accessId=<YOUR_ACCESSKEY_ID>

  • En tant que paramètre d'en-tête.

    Exemple : accessId: <YOUR_ACCESSKEY_ID>

accessSecret

La clé secrète AccessKey.

Oui

Transmettez ce paramètre de l'une des manières suivantes :

  • En tant que paramètre de requête.

    Exemple : ?accessSecret=<YOUR_ACCESSKEY_SECRET>

  • En tant que paramètre d'en-tête.

    Exemple : accessSecret: <YOUR_ACCESSKEY_SECRET>

schema

Le nom de la base de données.

Non

Transmettez ce paramètre de l'une des manières suivantes :

  • En tant que paramètre de chemin d'URL.

    Exemple : /server/<YOUR_DATABASE_NAME>

  • En tant que paramètre de corps.

    Exemple : { "schema": "<YOUR_DATABASE_NAME>" }

sql

L'instruction SQL à exécuter.

Oui

Transmettez ce paramètre de l'une des manières suivantes :

  • En tant que paramètre d'URL.

  • En tant que paramètre de corps.

    Format texte brut : <YOUR_SQL_STATEMENT>

    Format JSON : { "sql": "<YOUR_SQL_STATEMENT>" }

Format de réponse

Lorsque vous accédez à l'instance via HTTPS, la réponse est renvoyée au format JSON.

L'objet JSON présente la structure suivante :

Champ

Type

Description

columnMetas

Array

Liste des métadonnées des colonnes.

columnName

String

Nom de la colonne.

columnLabel

String

Libellé de la colonne, qui correspond à l'alias spécifié après AS dans l'instruction SQL. Si aucun alias n'est utilisé, cette valeur est identique à columnName.

columnTypeName

String

Type de données de la colonne, tel que VARCHAR ou BIGINT.

precision

Integer

Précision pour certains types de données. Par exemple, pour VARCHAR(32), la précision est 32.

scale

Integer

Échelle pour les types de données à virgule flottante, qui indique le nombre de chiffres après la virgule décimale. Par exemple, pour DECIMAL(10,2), l'échelle est 2.

nullable

Boolean

Indique si la colonne peut contenir des valeurs nulles. true signifie qu'elle peut être nulle, et false signifie qu'elle ne peut pas l'être.

autoIncrement

Boolean

Indique si la colonne est en incrémentation automatique. true signifie qu'il s'agit d'une colonne en incrémentation automatique, et false signifie que ce n'est pas le cas.

tableName

String

Nom de la table contenant la colonne.

msg

String

Message d'erreur renvoyé en cas d'échec de la requête.

updateCount

Integer

Nombre d'enregistrements affectés par une instruction LMD (Langage de manipulation de données).

requestId

String

ID de la requête. Utilisez cet ID pour le dépannage en cas de problème.

rowCount

Integer

Nombre d'enregistrements renvoyés par une requête.

rows

Array

Liste des enregistrements renvoyés par une requête. Chaque élément du tableau représente une ligne de données, similaire à une structure List<Map>.

success

Boolean

Indique si la requête a réussi. true signifie un succès, et false signifie un échec.

Voici des exemples de réponses :

  • Requête réussie

    {
      "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
    }
  • Mise à jour réussie

    {
      "updateCount": 0,
      "requestId": "xhqej0xgcytbhc8scjopgqsywcaibi",
      "success": true
    }
  • Échec de la requête

    {
      "message": 'AccessKey ID is required.',
      "requestId": "xhqej0xgcytbhc8scjopgqsywcaibi",
      "success": false
    }

Exemples

Utilisez la ligne de commande, un client SQL ou du code applicatif pour accéder à une instance dont le proxy d'accès sécurisé est activé.

Les exemples suivants utilisent les valeurs suivantes : l'endpoint est dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com, le nom de la base de données est database, l'ID AccessKey est user, la clé secrète AccessKey est pwd et la commande SQL est SHOW DATABASES.

  • Utiliser la commande curl

    # GET request
    curl 'https:///server/?accessId=&accessSecret=&sql='
    # GET request example
    curl 'https://dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com/server/database?accessId=user&accessSecret=pwd&sql=SHOW%20DATABASES'
    # POST request
    curl 'https:///server/' -H 'accessId:' -H 'accessSecret:' -H 'Content-Type:text/plain' -d ''
    # POST request example
    curl 'https://dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com/server/database' -H 'accessId:user' -H 'accessSecret:pwd' -H 'Content-Type:text/plain' -d 'SHOW DATABASES'
  • Utiliser un programme Python

    Remarque

    Cet exemple utilise Python 2.

    Requête GET :

    import requests
    url = "https:///server/?accessId=&accessSecret=&sql="
    print requests.get(url).text

    Exemple de requête 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

    Requête POST :

    import requests
    url = "https:///server/"
    headers = {
        "Content-Type": "text/plain;charset=utf-8",
        "accessId": "",
        "accessSecret": ""
    }
    print requests.post(url, headers=headers, data='').text

    Exemple de requête 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
  • Utiliser un programme Node.js

    Requête GET :

    const https = require("https");
    https.get("https:///server/?accessId=&accessSecret=&sql=SHOW DATABASES", resp => {
        resp.on("data", data => {
            console.log(JSON.parse(data));
        });
    });

    Exemple de requête 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));
        });
    });

    Requête POST :

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

    Exemple de requête 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();
  • Utiliser le client Postman

    Requête GET : dans Postman, envoyez une requête GET à l'URL https://dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com/server/. Dans les paramètres d'URL, définissez accessId sur votre ID AccessKey, accessSecret sur votre clé secrète AccessKey et sql sur l'instruction SQL que vous souhaitez exécuter, par exemple SHOW DATABASES. Cliquez sur Send.

    Requête POST : dans Postman, définissez la méthode de requête sur POST et l'URL sur https://dpxxxx-xxxxxxxx.proxy.dms.aliyuncs.com/server/. Dans l'onglet Headers, ajoutez les en-têtes suivants : définissez Content-Type sur text/plain, accessId sur votre ID AccessKey et accessSecret sur votre clé secrète AccessKey. Dans l'onglet Body, sélectionnez raw, choisissez Text et saisissez l'instruction SQL, par exemple SHOW DATABASES, dans la zone de texte. Cliquez sur Send.