すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:CLI統合の例

最終更新日:Apr 16, 2025

このトピックでは、Alibaba Cloudコマンドラインインターフェイス (CLI) を使用してMaxCompute OpenAPIを呼び出す方法について説明します。これは、ListProjects APIを呼び出してMaxComputeプロジェクトのリストを取得する例を示しています。

背景情報

Alibaba Cloud CLIは、OpenAPIに基づくコマンドラインツールです。 MaxComputeの管理およびメンテナンスタスクを自動化できます。 詳細については、「」をご参照ください。Alibaba Cloud CLIとは

ステップ1: Alibaba Cloud CLIのインストール

まず、オペレーティングシステムに適したインストールパッケージを選択します。

Cloud ShellにはAlibaba Cloud CLIがプリインストールされており、ID認証情報が自動的に設定されるため、セットアッププロセスが簡素化されます。 Cloud ShellでAlibaba Cloud CLIコマンドをテストできます。 詳細については、「」をご参照ください。Cloud Shellとは

ステップ2: Alibaba Cloud CLIの設定

重要

セキュリティ上の理由から、Resource Access Management (RAM) ユーザーを作成し、OpenAPIにアクセスするときに原則の最小特権に基づいて権限を割り当てることを推奨します。 MaxComputeでサポートされているポリシーの詳細については、「IDベースのポリシー」をご参照ください。

Alibaba Cloud CLIは、さまざまな資格情報タイプをサポートしています。 詳細については、「資格情報の種類」をご参照ください。 RAMユーザーのAccessKeyを使用して、ID資格情報を設定できます。 AKタイプの資格情報を設定するには、次の手順に従います。

  1. RAMユーザーとAccessKeyペアを作成して、ID資格情報を設定します。 詳細については、「RAM ユーザーの作成」および「AccessKeyペアの作成」をご参照ください。

  2. RAMユーザー権限を付与します。 この例では、AliyunMaxComputeReadOnlyAccessポリシーを使用して、RAMユーザーにMaxComputeへの読み取り専用アクセスを割り当てます。 詳細については、「RAMユーザーへの権限付与」をご参照ください。

  3. 操作のリージョンIDを取得します。 Alibaba Cloud CLIは、指定されたリージョンIDを使用してAPI呼び出しを開始します。 MaxComputeで使用可能なリージョンについては、「エンドポイント」をご参照ください。

    説明

    Alibaba Cloud CLIを使用する場合、-- regionオプションとそのパラメーターregionを使用してリージョンを指定できます。 有効なリージョンを指定すると、Alibaba Cloud CLIはデフォルトのID資格情報と環境変数設定のリージョンを無視し、指定したリージョンを使用してコマンドを実行します。 詳細については、「API呼び出しのコマンドラインオプション」をご参照ください。

  4. RAMユーザーのAccessKeyを使用してAKタイプの資格情報を設定し、設定ファイルにAkProfileという名前を付けます。 詳細については、「構成例」をご参照ください。

ステップ3: サンプルCLIコマンドを生成する

  1. ListProjectsデバッグアドレスをご覧ください。

    image

  2. [パラメーター] セクションにリクエストパラメーターを入力し、[CLIの例] タブをクリックして、生成されたCLIコマンドを確認します。

  3. CLIコマンドをコピーするか、Cloud Shellですばやく実行します。

    • [コマンドの実行] ボタンimageをクリックしてCloud Shellを開き、コマンドのデバッグを完了します。

    • [コピー] ボタンimageをクリックして、CLIコマンドをクリップボードにコピーします。 その後、ローカルシェルに貼り付けて、自動コマンドラインスクリプト用に実行または変更できます。

    説明

    テストのためにCLIコマンドをローカルシェルに貼り付けるときは、パラメーター形式が正しいことを確認してください。 Alibaba Cloud CLIコマンドのパラメーター形式の詳細については、「パラメーター形式」をご参照ください。

    OpenAPIポータルは、生成されたコマンドに -- regionオプションを自動的に含めます。 コマンドをローカルで実行する場合、Alibaba Cloud CLIは、デフォルトのID資格情報設定および環境変数設定よりも、指定されたリージョンの優先順位を付けます。 必要に応じて、このオプションを維持または削除することができます。

手順4: MaxCompute OpenAPIを呼び出す

例1: OpenAPIリストの取得

次の例は、-- helpオプションを使用して、Alibaba Cloud CLIでサポートされているMaxCompute OpenAPI操作のリストを取得する方法を示しています。 詳細については、「関数別の操作の一覧」をご参照ください。

  1. 以下のコマンドを実行します。

    aliyun maxcompute --help
  2. 期待される出力:

    image

例2: プロジェクトリストの取得

次の例は、Alibaba Cloud CLIを使用してMaxCompute ListProjects APIを呼び出し、入力パラメーターに基づいてMaxComputeプロジェクトのリストをフィルタリングおよび取得する方法を示しています。 APIの詳細については、「ListProjects」をご参照ください。

  1. 以下のコマンドを実行します。

    aliyun maxcompute GET /api/v1/projects --tenantId '5495****3697' --quotaName 'aliyun_5495***3697' --header "Content-Type=application/json;"
  2. 期待される出力:

    {
      "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"
      }
    }
    説明

    MaxCompute OpenAPIを呼び出した後にエラーが発生した場合は、返されたエラーコードに対してリクエストパラメーターとその値を確認します。

    呼び出しからのRequestIDまたはSDKからのエラーメッセージを記録できます。 セルフサービス診断の場合は、

    Alibaba Cloud OpenAPI診断プラットフォームをご利用ください。