Os parâmetros de comando do Alibaba Cloud CLI dividem-se em flags globais, que controlam o comportamento da CLI, e parâmetros de negócio, transmitidos aos subcomandos. Este tópico descreve como visualizar os parâmetros disponíveis, formatar valores de diversos tipos de dados e utilizar o recurso de preenchimento automático.
Pré-requisitos
O Alibaba Cloud CLI 3.3.0 ou posterior está instalado. Para instruções de instalação, consulte Instalar, atualizar e desinstalar o Alibaba Cloud CLI. Caso sua versão atual seja anterior à 3.3.0, acesse Migrar da CLI legada para a baseada em plugins para concluir a migração.
As credenciais estão configuradas para o Alibaba Cloud CLI. Para obter instruções de configuração, consulte Configurar e gerenciar credenciais.
Tipos de parâmetro
Um comando da CLI é composto por um comando, um subcomando e parâmetros:
aliyun <command> <sub-command> [parameters]
Os parâmetros classificam-se em dois tipos:
Flags globais: Controlam o comportamento da própria CLI, como seleção de região, formato de saída e paginação. Essas flags aplicam-se a todos os comandos.
Parâmetros de negócio: Campos de solicitação transmitidos aos subcomandos. Variam conforme a operação.
No exemplo a seguir, --help é uma flag global e --biz-region-id é um parâmetro de negócio:
aliyun ecs describe-instances --help
aliyun ecs describe-instances --biz-region-id cn-hangzhou
Flags globais
As flags abaixo aplicam-se a todos os comandos de plugin, incluindo especificação de região, paginação de resultados de consulta e ativação do modo de simulação:
|
Flag |
Tipo |
Descrição |
|
|
string |
Especifica o ID da região, como |
|
|
string |
Define a URL do endpoint da API. Na maioria dos casos, não é necessário definir esta flag manualmente. |
|
|
string |
Filtra a saída usando uma expressão JMESPath. |
|
|
list |
Agrega automaticamente todos os resultados paginados da API. |
|
|
bool |
Modo de simulação: valida os parâmetros e imprime o conteúdo da solicitação sem enviá-la efetivamente. Em comandos de plugin, utilize esta flag em vez da flag legada |
|
|
bool |
Modo assistido por IA. Quando ativado, adiciona um identificador de IA ao cabeçalho User-Agent da solicitação de API atual. |
|
|
string |
Define o nível de saída de log para depuração e solução de problemas. Valores válidos: |
|
|
bool |
Modo silencioso: suprime a saída da resposta da API. Ideal para scripts e cenários de CI/CD. |
|
|
bool |
Exibe informações de ajuda. |
A flag --cli-dry-run é mutuamente exclusiva com --pager e --quiet. Não é possível usar essas flags simultaneamente, pois o modo de simulação não envia solicitações reais.
Parâmetros de negócio
Parâmetros de negócio são campos de solicitação passados aos subcomandos. Cada operação possui seus próprios parâmetros específicos.
aliyun ecs describe-instances --biz-region-id cn-hangzhou --cli-dry-run
As APIs definem os tipos de dados dos parâmetros de negócio. Os tipos mais comuns incluem:
String: Uma cadeia de texto, como um ID ou nome de instância.
Integer: Um número inteiro, como um número de página ou contagem.
Boolean: Um valor booleano, sendo
trueoufalse.Array / JSON: Um array ou objeto JSON, como uma lista de IDs de disco ou um objeto de tag.
Descobrir parâmetros
É possível visualizar os parâmetros suportados por um comando através das informações de ajuda da CLI ou pelo portal online OpenAPI.
Usar informações de ajuda da CLI
Adicione --help a um comando para visualizar todos os parâmetros suportados e suas descrições. O formato da saída de ajuda varia conforme o tipo de comando.
Comandos integrados
Comandos integrados fazem parte do programa principal do Alibaba Cloud CLI e funcionam sem plugins adicionais, como o configure. A saída de ajuda para esses comandos exibe subcomandos ou opções específicas:
aliyun configure --help
Saída de ajuda:
configure credential and settings
Usage:
aliyun configure --mode {AK|RamRoleArn|EcsRamRole|OIDC|External|CredentialsURI|ChainableRamRoleArn|CloudSSO|OAuth} --profile <profileName> [--config-path <configPath>]
Commands:
get print configuration values
set set config in non interactive mode
list list all config profile
delete delete the specified profile
switch switch default profile
safety-policy manage safety policy and human-in-the-loop rules
ai-mode manage global AI mode and User-Agent for API calls
plugin-settings manage global plugin system settings
Comandos de plugin
A saída de ajuda para comandos de plugin de serviços em nuvem exibe nomes de parâmetros no formato kebab-case, incluindo tipos de parâmetro e valores padrão:
aliyun ecs describe-instances --help
Saída de ajuda:
Description: Queries a list of instances and their details based on specified conditions
API Version: 2014-05-26
Usage:
aliyun ecs describe-instances [parameters]
Parameters:
--biz-region-id string (required), The ID of the region where the
instance resides. You can call https://help.aliyun.
com/document_detail/25609.html to query the latest
list of Alibaba Cloud regions
--additional-attributes list, The list of other instance attributes
format: --additional-attributes value1 value2 value3
--device-available bool, > This parameter is in invitational preview
and is not available for use
......
Global Flags:
--cli-ai-mode bool, For this run, enable AI-mode
--cli-dry-run bool, Enable dry-run mode: print request details
without sending the actual API call
--cli-query string, Use `--cli-query <jmespath>` to filter
output with JMESPath expression
--endpoint string, Override service endpoint (e.g., --endpoint
https://ecs.cn-hangzhou.aliyuncs.com)
......
Examples:
aliyun ecs describe-instances --biz-region-id example-value
aliyun ecs describe-instances --biz-region-id example-value --vpc-id example-value
Usar o portal OpenAPI
O portal OpenAPI do Alibaba Cloud permite depurar APIs online e gera automaticamente exemplos de comandos da CLI. Para mais informações, consulte Gerar e executar comandos da CLI com o OpenAPI Explorer.
Valores de parâmetro
A forma de passar valores de parâmetro varia conforme o tipo de dado e o ambiente do sistema operacional.
Valores de parâmetro de tipos comuns
|
Tipo de dado |
Formato |
Exemplo |
|
Integer |
Passe o valor diretamente, sem aspas. |
|
|
String |
Informe o valor diretamente se não houver caracteres especiais. Use aspas caso existam caracteres especiais. |
|
|
Boolean |
Flag que ativa ou desativa um recurso. Por exemplo, incluir |
|
|
Lista de strings |
Separe múltiplos valores por vírgulas e coloque toda a lista entre aspas. |
|
|
Array JSON |
Uma string formatada em JSON, delimitada por aspas. |
|
|
Data |
Formato ISO 8601: |
|
Sistemas operacionais e ambientes de terminal diferentes tratam aspas de maneiras distintas. Ao passar valores de parâmetro que contenham caracteres especiais, siga estas regras de uso de aspas:
|
Ambiente |
Aspas gerais |
Aspas para a flag --body |
|
Linux / macOS |
Aspas simples |
Aspas duplas |
|
Windows Command Prompt |
Aspas duplas |
Aspas duplas |
|
Windows PowerShell |
Aspas simples |
Aspas simples |
Valores de parâmetro JSON
Alguns parâmetros de comando exigem valores no formato JSON. A escolha entre aspas externas e internas depende do sistema operacional.
Arrays JSON
-
Linux / macOS: Use aspas simples na camada externa e aspas duplas nos valores internos.
aliyun ecs describe-disks --disk-ids '["d-bp1****","d-bp2****","d-bp3****"]' --biz-region-id cn-hangzhou -
Windows (Command Prompt e PowerShell): Use aspas duplas na camada externa e aspas simples nos valores internos.
aliyun ecs describe-disks --disk-ids "['d-bp1****','d-bp2****','d-bp3****']" --biz-region-id cn-hangzhou
Objetos JSON
Quando o valor de um parâmetro for um objeto JSON, delimite cada objeto com chaves {} e separe chaves e valores com dois pontos :.
-
Linux / macOS:
aliyun slb add-backend-servers --load-balancer-id lb-bp1**** --backend-servers '[{"ServerId":"i-bp1****"},{"ServerId":"i-bp2****"}]' -
Windows (Command Prompt e PowerShell):
aliyun slb add-backend-servers --load-balancer-id lb-bp1**** --backend-servers "[{'ServerId':'i-bp1****'},{'ServerId':'i-bp2****'}]"
Valores com caracteres especiais
Valores iniciados com hífen (-)
Se um valor de parâmetro começar com -, a CLI poderá interpretá-lo incorretamente como outro nome de parâmetro:
aliyun ecs AuthorizeSecurityGroup --SecurityGroupId 'sg-bp67acfmxazb4p****' --Permissions.1.PortRange "-1/-1" --method POST --force
Para resolver esse problema, use um sinal de igual para conectar o nome do parâmetro ao seu valor:
aliyun ecs AuthorizeSecurityGroup --SecurityGroupId 'sg-bp67acfmxazb4p****' --Permissions.1.PortRange=-1/-1 --method POST --force
Caracteres especiais do shell
Quando os valores de parâmetro contiverem caracteres especiais do shell ($, , \, espaços, entre outros), será obrigatório colocá-los entre aspas. No Linux / macOS, utilize aspas simples para impedir que o shell interprete os caracteres especiais. No Windows Command Prompt, use aspas duplas.
# Linux/macOS/PowerShell
aliyun ecs describe-images --image-name 'Example Image'
# Windows CMD
aliyun ecs describe-images --image-name "Example Image"
# Linux/macOS
aliyun xxx --param '$literal_dollar'
Carregar valores de parâmetro de um arquivo
Para valores de parâmetro extensos, como certificados ou grandes payloads JSON, é mais prático carregar o valor a partir de um arquivo local.
--body-file (chamadas de API RESTful)
Em chamadas de API RESTful, utilize --body-file para carregar o corpo da solicitação HTTP de um arquivo local.
aliyun cs PUT /clusters/c1234****/nodepools/np5678**** --body-file request.json
Substituição de comando do shell e here-doc
Também é possível usar substituição de comando do shell ($(cat ...)) ou here-doc para passar o conteúdo do arquivo ao parâmetro --body:
# Command substitution
aliyun cs PUT /clusters/c1234****/nodepools/np5678**** --body "$(cat request.json)"
# Here-doc (suitable for constructing inline JSON in scripts)
aliyun cs PUT /clusters/c1234****/nodepools/np5678**** --body "$(cat <<EOF
{
"nodepool_info": {
"name": "default-nodepool",
"resource_group_id": "rg-acfmyvw****"
}
}
EOF
)"
A substituição de comando do shell e o here-doc aplicam-se apenas a ambientes bash ou zsh. Para ambientes Windows, utilize --body-file.
Preenchimento automático de comandos
O Alibaba Cloud CLI oferece suporte ao preenchimento automático de comandos. Após ativar esse recurso, pressione Tab para completar automaticamente nomes de produtos, operações e parâmetros.
O preenchimento automático é suportado apenas em ambientes bash ou zsh nos sistemas Linux e macOS. Esse recurso abrange nomes de produtos, operações e parâmetros, mas não inclui valores de parâmetro.
Execute o seguinte comando para ativar o preenchimento automático:
aliyun auto-completion
Após ativar o preenchimento automático, execute o comando abaixo para aplicar a configuração imediatamente ou reinicie o terminal:
# bash
source ~/.bash_profile
# zsh
source ~/.zshrc
Para verificar se o preenchimento automático está funcionando, digite aliyun e pressione Tab. Se uma lista de comandos candidatos aparecer (como configure), o recurso estará ativo.
Para desativar o preenchimento automático, execute:
aliyun auto-completion --uninstall
Perguntas frequentes
O --help mostra um parâmetro como Optional. Posso sempre omiti-lo?
Não necessariamente. Alguns comandos possuem parâmetros mutuamente exclusivos, o que significa que você deve especificar um ou outro. Embora tais parâmetros apareçam individualmente marcados como opcionais, pelo menos um deles precisa ser informado. Caso contrário, um erro será retornado. Para regras específicas de obrigatoriedade, consulte a documentação da API do produto relevante.