この例では、MaxCompute ListProjects API を呼び出して MaxCompute プロジェクトを一覧表示し、MaxCompute OpenAPI の呼び出し方法を示します。
概要
Alibaba Cloud コマンドラインインターフェイス (CLI) は、OpenAPI に基づいて構築された、MaxCompute を自動化するためのコマンドラインツールです。Alibaba Cloud CLI とは。
ステップ 1: Alibaba Cloud CLI のインストール
オペレーティングシステムに応じて Alibaba Cloud CLI をインストールします。
-
Windows:「Windows への CLI のインストール」をご参照ください。
-
Linux:「CLI のインストールまたは更新」をご参照ください。
-
macOS:「macOS への CLI のインストール」をご参照ください。
Cloud Shell では、Alibaba Cloud CLI が事前にインストールされており、認証情報が自動的に設定されます。Cloud Shell でコマンドを直接デバッグできます。Cloud Shell とは。
ステップ 2: Alibaba Cloud CLI の設定
Alibaba Cloud アカウント (ルートアカウント) は、すべての OpenAPI 操作に対する完全な権限を持つため、セキュリティリスクが高くなります。RAM ユーザーを作成し、最小権限の原則に基づいて権限を付与して、OpenAPI 操作に RAM ユーザーを使用することを推奨します。MaxCompute については、「ID ベースのポリシー」をご参照ください。
Alibaba Cloud CLI を使用する前に、認証情報とリージョン ID を設定する必要があります。複数の認証情報タイプをサポートしています。詳細については、「認証情報の設定と管理」をご参照ください。RAM ユーザーの AccessKey を使用して AK タイプの認証情報を設定できます。
-
「RAM ユーザーの作成」および「AccessKey の作成」をご参照ください。
-
RAM ユーザーに
AliyunMaxComputeReadOnlyAccess権限を付与し、MaxCompute への読み取り専用アクセスを許可します。 RAM ユーザー権限の管理。 -
リージョン ID を取得します。 Alibaba Cloud CLI は、指定されたリージョンから OpenAPI を呼び出します。 MaxCompute のリージョンについては、「エンドポイント」をご参照ください。
説明--regionオプションは、認証情報設定および環境変数で指定されたリージョンを上書きします。詳細については、「コマンドラインオプション」をご参照ください。 -
RAM ユーザーの AccessKey を使用して AK タイプの認証情報を設定し、プロファイルに
AkProfileという名前を付けてください。詳細については、「認証情報の設定と管理」をご参照ください。
ステップ 3: サンプル CLI コマンドの生成
-
OpenAPI ポータルで、ListProjects デバッグページにアクセスします。
左側のパネルで、[Service Address] ドロップダウンリストからリージョン (例: 中国 (杭州)) を選択し、
tenantId、region、quotaNickName、quotaNameなどのリクエストパラメーターを入力してください。右側の [CLI Example] タブをクリックすると、生成されたコマンドが表示されます。 -
パラメーター設定 セクションで、リクエストパラメーターを入力し、[CLI の例] タブをクリックすると、生成された CLI コマンドが表示されます。
-
CLI コマンドをコピーするか、Cloud Shell で実行します:
-
[コマンドの実行] ボタン
をクリックすると、Cloud Shell が開き、コマンドをすばやくデバッグできます。 -
コピー ボタン
をクリックして、CLI コマンドをクリップボードにコピーします。その後、ローカルシェルツールに貼り付けて実行したり、自動化スクリプト用に編集したりできます。
説明ローカルシェルにコマンドを貼り付ける際は、「コマンドパラメーターの理解」に記載されている要件とパラメーター形式が一致していることを確認してください。
生成されたコマンドにはデフォルトで
--regionオプションが含まれており、これは認証情報設定および環境変数で指定されたリージョンを上書きします。必要に応じてこのオプションを削除または保持してください。 -
ステップ 4: MaxCompute OpenAPIを呼び出す
例 1: 利用可能な OpenAPI オペレーションの一覧表示
--help オプションを使用して、Alibaba Cloud CLI でサポートされている MaxCompute OpenAPI 操作を一覧表示します。API 概要。
-
次のコマンドを実行してください。
aliyun maxcompute --help -
出力:
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]
例 2: プロジェクトの一覧表示
MaxCompute ListProjects API 操作を呼び出して、MaxCompute プロジェクトリストをフィルター処理して取得します。 プロジェクトの一覧表示。
-
コマンドを実行してください。
aliyun maxcompute GET /api/v1/projects --tenantId '5495****3697' --quotaName 'aliyun_5495***3697' --header "Content-Type=application/json;" -
出力:
{ "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": "default" }, "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 API コールでエラーが返された場合は、返されたエラーコードと照らし合わせてリクエストパラメーターを確認してください。
リクエスト ID または SDK エラーメッセージを記録し、Alibaba Cloud OpenAPI 診断プラットフォームを使用してセルフサービス診断を実行してください。