Bu örnekte, MaxCompute ListProjects API çağrılarak MaxCompute projeleri listelenir ve MaxCompute OpenAPI çağrılarının nasıl yapılacağı gösterilir.
Genel bakış
Alibaba Cloud Command Line Interface (CLI), MaxCompute işlemlerini otomatikleştirmek için OpenAPI üzerine inşa edilmiş bir komut satırı aracıdır. Alibaba Cloud CLI nedir?.
Adım 1: Alibaba Cloud CLI yükleyin
İşletim sisteminiz için Alibaba Cloud CLI yükleyin:
Windows: CLI'yı Windows'a yükleyin.
Linux: CLI'yı yükleyin veya güncelleyin.
macOS: CLI'yı macOS'e yükleyin.
Cloud Shell içinde Alibaba Cloud CLI önceden yüklü olarak gelir ve kimlik bilgileri otomatik olarak yapılandırılır. Komutları doğrudan Cloud Shell içinde hata ayıklayabilirsiniz. Cloud Shell nedir?.
Adım 2: Alibaba Cloud CLI'yı yapılandırın
Bir Alibaba Cloud hesabı (kök hesap) tüm OpenAPI işlemleri için tam yetkilere sahiptir ve bu durum yüksek bir güvenlik riski oluşturur. Bir RAM kullanıcısı oluşturmanızı, en az ayrıcalık ilkesine göre izinler vermenizi ve OpenAPI işlemleri için RAM kullanıcısını kullanmanızı öneririz. MaxCompute için bkz. Kimlik tabanlı ilkeler.
Alibaba Cloud CLI'yı kullanmadan önce kimlik bilgilerini ve bir bölge kimliğini yapılandırın. Birden fazla kimlik bilgisi türü desteklenir. Kimlik bilgilerini yapılandırma ve yönetme. AK türü kimlik bilgilerini yapılandırmak için bir RAM kullanıcısının AccessKey değerini kullanabilirsiniz:
Bir RAM kullanıcısı oluşturun ve bir AccessKey oluşturun.
RAM kullanıcısına MaxCompute için salt okunur erişim sağlayan AliyunMaxComputeReadOnlyAccess iznini verin. RAM kullanıcı izinlerini yönetme.
-
Bir bölge kimliği edinin. Alibaba Cloud CLI, belirtilen bölgeden OpenAPI çağrıları yapar. MaxCompute bölgeleri için bkz. Uç noktalar.
Not--regionseçeneği, kimlik bilgisi yapılandırmanızdaki ve ortam değişkenlerindeki bölgeyi geçersiz kılar. Komut satırı seçenekleri. RAM kullanıcısının AccessKey değerini kullanarak AK türü kimlik bilgilerini yapılandırın ve profili AkProfile olarak adlandırın. Kimlik bilgilerini yapılandırma ve yönetme.
Adım 3: Örnek bir CLI komutu oluşturun
-
OpenAPI portalında şuraya gidin: ListProjects hata ayıklama sayfası.
Sol panelde, Service Address açılır listesinden bir bölge seçin (örneğin China (Hangzhou)) ve
tenantId,region,quotaNickNamevequotaNamegibi istek parametrelerini girin. Sağ taraftaki CLI Example sekmesine tıklayarak oluşturulan komutu görüntüleyin. Parameter Configuration bölümünde istek parametrelerini girin ve oluşturulan CLI komutunu görüntülemek için CLI Example sekmesine tıklayın.
-
CLI komutunu kopyalayın veya Cloud Shell içinde çalıştırın:
Run Command düğmesine
tıklayarak Cloud Shell penceresini açın ve komutu hızlıca hata ayıklayın.CLI komutunu panoya kopyalamak için Copy düğmesine
tıklayın. Ardından komutu yerel bir kabuk aracına yapıştırarak çalıştırabilir veya bir otomasyon betiği için düzenleyebilirsiniz.
NotKomutu yerel bir kabuğa yapıştırırken parametre formatının şu konudaki gereksinimlerle eşleştiğinden emin olun: Komut parametrelerini anlama.
Oluşturulan komut varsayılan olarak
--regionseçeneğini içerir; bu seçenek, kimlik bilgisi yapılandırmanızdaki ve ortam değişkenlerindeki bölgeyi geçersiz kılar. Bu seçeneği ihtiyaca göre kaldırın veya saklayın.
Adım 4:MaxCompute OpenAPI çağrısı yapın
Örnek 1: Kullanılabilir OpenAPI işlemlerini listeleyin
Alibaba Cloud CLI tarafından desteklenen MaxCompute OpenAPI işlemlerini listelemek için --help seçeneğini kullanın. API'ye genel bakış.
-
Aşağıdaki komutu çalıştırın.
aliyun maxcompute --help -
Çıktı:
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]
Örnek 2: Projeleri listeleyin
Bir MaxCompute proje listesini filtrelemek ve almak için MaxCompute ListProjects API işlemini çağırın. Projeleri listeleme.
-
Komutu çalıştırın.
aliyun maxcompute GET /api/v1/projects --tenantId '5495****3697' --quotaName 'aliyun_5495***3697' --header "Content-Type=application/json;" -
Çıktı:
{ "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" } }NotBir MaxCompute API çağrısı hata döndürürse istek parametrelerinizi döndürülen hata koduna göre doğrulayın.
RequestID veya SDK hata mesajını kaydedin ve kendi kendine sorun giderme amacıyla Alibaba Cloud OpenAPI Tanılama Platformu kullanın.