Este exemplo chama a MaxCompute ListProjects API para listar projetos do MaxCompute, demonstrando como chamar a OpenAPI do MaxCompute.
Visão geral
O Alibaba Cloud Command Line Interface (CLI) é uma ferramenta de linha de comando baseada em OpenAPI para automatizar o MaxCompute. O que é o Alibaba Cloud CLI?.
Etapa 1: Instalar o Alibaba Cloud CLI
Instale o Alibaba Cloud CLI para seu sistema operacional:
Windows: Instalar o CLI no Windows.
Linux: Instalar ou atualizar o CLI.
macOS: Instalar o CLI no macOS.
No Cloud Shell, o Alibaba Cloud CLI vem pré-instalado com configuração automática de credenciais. Depure os comandos diretamente no Cloud Shell. O que é o Cloud Shell?.
Etapa 2: Configurar o Alibaba Cloud CLI
Uma conta da Alibaba Cloud (conta raiz) tem permissões completas para todas as operações de OpenAPI, representando um alto risco de segurança. É recomendável criar um usuário RAM, conceder permissões com base no princípio do menor privilégio e usar o usuário RAM para operações de OpenAPI. Para o MaxCompute, consulte Políticas baseadas em identidade.
Configure credenciais e um ID de região antes de usar o Alibaba Cloud CLI. Há suporte para vários tipos de credenciais. Configurar e gerenciar credenciais. Use o AccessKey de um usuário RAM para configurar credenciais do tipo AK:
Conceda ao usuário RAM a permissão AliyunMaxComputeReadOnlyAccess para acesso somente leitura ao MaxCompute. Gerenciar permissões de usuários RAM.
-
Obtenha um ID de região. O Alibaba Cloud CLI faz chamadas de OpenAPI a partir da região especificada. Para as regiões do MaxCompute, consulte Endpoints.
NotaA opção
--regionsubstitui a região na configuração de credenciais e nas variáveis de ambiente. Opções de linha de comando. Configure credenciais do tipo AK usando o AccessKey do usuário RAM e nomeie o perfil como AkProfile. Configurar e gerenciar credenciais.
Etapa 3: Gerar um comando CLI de exemplo
-
No portal da OpenAPI, acesse a página de depuração do ListProjects.
No painel esquerdo, selecione uma região na lista suspensa Service Address (por exemplo, China (Hangzhou)) e insira parâmetros de solicitação como
tenantId,region,quotaNickNameequotaName. Clique na guia CLI Example à direita para visualizar o comando gerado. Na seção Parameter Configuration, insira os parâmetros de solicitação e clique na guia CLI Example para visualizar o comando CLI gerado.
-
Copie o comando CLI ou execute-o no Cloud Shell:
Clique no botão Run Command
para abrir o Cloud Shell e depurar o comando rapidamente.Clique no botão Copy
para copiar o comando CLI para a área de transferência. Em seguida, cole-o em uma ferramenta de shell local para executar ou editá-lo em um script de automação.
NotaAo colar o comando em um shell local, verifique se o formato do parâmetro atende aos requisitos em Compreender os parâmetros de comando.
O comando gerado inclui a opção
--regionpor padrão, que substitui a região na configuração de credenciais e nas variáveis de ambiente. Remova ou mantenha essa opção conforme necessário.
Etapa 4: Chamar a MaxCompute OpenAPI
Exemplo 1: Listar as operações de OpenAPI disponíveis
Use a opção --help para listar as operações de OpenAPI do MaxCompute compatíveis com o Alibaba Cloud CLI. Visão geral da API.
-
Execute o seguinte comando.
aliyun maxcompute --help -
Saída:
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]
Exemplo 2: Listar projetos
Chame a operação de API MaxCompute ListProjects para filtrar e recuperar uma lista de projetos do MaxCompute. Listar projetos.
-
Execute o comando.
aliyun maxcompute GET /api/v1/projects --tenantId '5495****3697' --quotaName 'aliyun_5495***3697' --header "Content-Type=application/json;" -
Saída:
{ "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" } }NotaSe uma chamada de API do MaxCompute retornar um erro, verifique os parâmetros de solicitação em relação ao código de erro retornado.
Registre o RequestID ou a mensagem de erro do SDK e use a Alibaba Cloud OpenAPI Diagnostics Platform para diagnóstico de autoatendimento.