Tous les produits
Search
Centre de documentation

MaxCompute:Appeler l'OpenAPI MaxCompute avec Alibaba Cloud CLI

Dernière mise à jour :Aug 10, 2026

Cet exemple appelle l'API MaxCompute ListProjects pour lister les projets MaxCompute, et montre comment appeler l'OpenAPI MaxCompute.

Présentation

L'interface en ligne de commande (CLI) d'Alibaba Cloud est un outil basé sur OpenAPI qui permet d'automatiser MaxCompute. Qu'est-ce qu'Alibaba Cloud CLI ?.

Étape 1 : Installer Alibaba Cloud CLI

Installez Alibaba Cloud CLI pour votre système d'exploitation :

Dans Cloud Shell, Alibaba Cloud CLI est préinstallé et ses identifiants sont configurés automatiquement. Déboguez vos commandes directement dans Cloud Shell. Qu'est-ce que Cloud Shell ?.

Étape 2 : Configurer Alibaba Cloud CLI

Important

Un compte Alibaba Cloud (compte racine) dispose de toutes les autorisations pour les opérations OpenAPI, ce qui présente un risque de sécurité élevé. Nous vous recommandons de créer un utilisateur RAM, d'accorder des autorisations selon le principe du moindre privilège et d'utiliser cet utilisateur RAM pour les opérations OpenAPI. Pour MaxCompute, consultez les politiques basées sur l'identité.

Configurez les identifiants et un ID de région avant d'utiliser Alibaba Cloud CLI. Plusieurs types d'identifiants sont pris en charge. Configurer et gérer les identifiants. Vous pouvez utiliser l'AccessKey d'un utilisateur RAM pour configurer des identifiants de type AK :

  1. Créez un utilisateur RAM et créez une AccessKey.

  2. Accordez à l'utilisateur RAM l'autorisation AliyunMaxComputeReadOnlyAccess pour un accès en lecture seule à MaxCompute. Gérer les autorisations des utilisateurs RAM.

  3. Obtenez un ID de région. Alibaba Cloud CLI appelle l'OpenAPI depuis la région spécifiée. Pour connaître les régions MaxCompute, consultez les endpoints.

    Remarque

    L'option --region remplace la région définie dans votre configuration d'identifiants et vos variables d'environnement. Options de ligne de commande.

  4. Configurez des identifiants de type AK en utilisant l'AccessKey de l'utilisateur RAM et nommez le profil AkProfile. Configurer et gérer les identifiants.

Étape 3 : Générer un exemple de commande CLI

  1. Dans le portail OpenAPI, accédez à la page de débogage ListProjects.

    Dans le panneau de gauche, sélectionnez une région dans la liste déroulante Service Address (par exemple, China (Hangzhou)) et saisissez les paramètres de requête tels que tenantId, region, quotaNickName et quotaName. Cliquez sur l'onglet CLI Example à droite pour afficher la commande générée.

  2. Dans la section Parameter Configuration, saisissez les paramètres de requête et cliquez sur l'onglet CLI Example pour afficher la commande CLI générée.

  3. Copiez la commande CLI ou exécutez-la dans Cloud Shell :

    • Cliquez sur le bouton Run Commandimage pour ouvrir Cloud Shell et déboguer rapidement la commande.

    • Cliquez sur le bouton Copyimage pour copier la commande CLI dans le presse-papiers. Vous pouvez ensuite la coller dans un outil shell local pour l'exécuter ou la modifier pour un script d'automatisation.

    Remarque

    Lorsque vous collez la commande dans un shell local, assurez-vous que le format des paramètres correspond aux exigences décrites dans la rubrique Comprendre les paramètres de commande.

    La commande générée inclut par défaut l'option --region, qui remplace la région définie dans votre configuration d'identifiants et vos variables d'environnement. Supprimez ou conservez cette option selon vos besoins.

Étape 4 : AppelerMaxCompute OpenAPI

Exemple 1 : Lister les opérations OpenAPI disponibles

Utilisez l'option --help pour lister les opérations OpenAPI MaxCompute prises en charge par Alibaba Cloud CLI. Présentation de l'API.

  1. Exécutez la commande suivante.

    aliyun maxcompute --help
  2. Résultat :

    shell@Alicloud:~$ aliyun maxcompute --help
    Alibaba Cloud CLI, Version 3.0.234
    Usage 1:
        aliyun maxcompute [GET|PUT|POST|DELETE] <PathPattern> --body "..."
    Usage 2 (For API with NO PARAMS in PathPattern only.):
        aliyun maxcompute <ApiName> --parameter1 value1 --parameter2 value2 ... --body "..."
    Product: MaxCompute ()
    Version: 2022-01-04
    Available Api List:
      CreatePackage          : POST /api/v1/projects/[projectName]/packages
      CreateProject          : POST /api/v1/projects
      CreateQuotaPlan        : POST /api/v1/quotas/[nickname]/plans
      CreateRole             : POST /api/v1/projects/[projectName]/roles
      DeleteQuotaPlan        : DELETE /api/v1/quotas/[nickname]/plans/[planName]
      GetJobResourceUsage    : GET /api/v1/jobs/resourceUsage
      GetPackage             : GET /api/v1/projects/[projectName]/packages/[packageName]

Exemple 2 : Lister les projets

Appelez l'opération d'API MaxCompute ListProjects pour filtrer et récupérer une liste de projets MaxCompute. Lister les projets.

  1. Exécutez la commande.

    aliyun maxcompute GET /api/v1/projects --tenantId '5495****3697' --quotaName 'aliyun_5495***3697' --header "Content-Type=application/json;"
  2. Résultat :

    {
      "requestId": "0b16399216671970335563173e2340",
      "data": {
        "projects": [
          {
            "name": "odps_project",
            "owner": "ALIYUN$odps****@aliyunid.com\n",
            "type": "managed",
            "comment": "BI_Analysis",
            "defaultQuota": "os_PayAsYouGoQuota\n",
            "status": "AVAILABLE",
            "costStorage": "16489027",
            "regionId": "cn-beijing",
            "createdTime": 1704380838000,
            "properties": {
              "timezone": "Asia/Shanghai\n",
              "retentionDays": 1,
              "allowFullScan": false,
              "typeSystem": "2",
              "enableDecimal2": true,
              "sqlMeteringMax": "1500",
              "tableLifecycle": {
                "type": "optional",
                "value": "37231\n"
              },
              "encryption": {
                "enable": true,
                "algorithm": "AES256",
                "key": "dafault"
              },
              "tunnelQuota": "Default",
              "enableTunnelQuotaRoute": true,
              "externalProjectProperties": {
                "isExternalCatalogBound": "true"
              }
            },
            "securityProperties": {
              "usingAcl": true,
              "usingPolicy": true,
              "objectCreatorHasAccessPermission": true,
              "objectCreatorHasGrantPermission": true,
              "labelSecurity": false,
              "enableDownloadPrivilege": false,
              "projectProtection": {
                "protected": true,
                "exceptionPolicy": "{\n      \"Version\": \"1\",\n      \"Statement\": [\n            {\n                  \"Effect\": \"Allow\",\n                  \"Principal\": \"\",\n                  \"Action\": [\n                        \"odps:[, , ...]\"\n                  ],\n                  \"Resource\": \"acs:odps:*:\",\n                  \"Condition\": {\n                        \"StringEquals\": {\n                              \"odps:TaskType\": [\n                                    \"\"\n                              ]\n                        }\n                  }\n            }\n      ]\n}"
              }
            },
            "ipWhiteList": {
              "ipList": "10.88.111.3",
              "vpcIpList": "10.88.111.3"
            },
            "saleTag": {
              "resourceId": "b7afb7d1-****-****-****-c393669c307b\n",
              "resourceType": "PayAsYouGo\n"
            },
            "threeTierModel": true
          }
        ],
        "marker": "cHlvZHBzX3VkZl8xMDExNV8xNDU3NDI4NDkzKg==",
        "maxItem": 10,
        "NextToken": "AAAAAV3MpHK1AP0pfERHZN5pu6kvikyUl3ChyRxN+qLPvtOb"
      }
    }
    Remarque

    Si un appel d'API MaxCompute renvoie une erreur, vérifiez vos paramètres de requête par rapport au code d'erreur retourné.

    Enregistrez le RequestID ou le message d'erreur du SDK et utilisez la plateforme de diagnostic OpenAPI d'Alibaba Cloud pour effectuer un diagnostic autonome.