Configure o SLS CLI para definir credenciais padrão, endpoint e formato de saída para todos os comandos.
Fontes e prioridade de credenciais
O SLS CLI reutiliza as credenciais do Alibaba Cloud CLI quando disponíveis, eliminando a necessidade de configurar outra conta. Configurar o Alibaba Cloud CLI.
Prioridade de resolução de credenciais (da mais alta para a mais baixa):
|
Fonte da credencial |
Descrição |
|
Parâmetros de subcomando (par de AccessKey, região) |
Credenciais fornecidas diretamente no subcomando. |
|
Parâmetro profile no SLS CLI |
Usa o perfil especificado por |
|
Variável de ambiente ALIYUN_LOG_CLI |
Usa a variável de ambiente ALIYUN_LOG_CLI. |
|
Arquivo de configuração do SLS CLI |
Nomeado como .aliyunlogcli. Para obter mais informações, consulte Configurar a conta padrão e Configurar várias contas. |
|
Variável de ambiente ALIBABACLOUD (Alibaba Cloud CLI) |
Usa a variável de ambiente ALIBABACLOUD. |
|
Variável de ambiente ALICLOUD (Alibaba Cloud CLI) |
Usa a variável de ambiente ALICLOUD. |
|
Arquivo de configuração do Alibaba Cloud CLI |
Usa o arquivo de configuração do Alibaba Cloud CLI. Nota
Caminhos do arquivo de configuração:
|
Configurar a conta padrão
Por padrão, o SLS CLI usa a conta main. Configure um par de AccessKey e um endpoint para a conta main e conceda permissões para gerenciar projetos.
Faça logon no servidor do SLS CLI.
-
Configure as credenciais da conta padrão.
Execute o seguinte comando:
aliyunlog configure "AccessKey ID" "AccessKey Secret" EndpointSubstitua AccessKey ID e AccessKey Secret pelas credenciais de uma conta com permissões de SLS. Para obter mais informações, consulte Par de AccessKey e Criar um usuário RAM e conceder permissões.
Substitua Endpoint pelo endpoint de um projeto. Use um endpoint público. Para obter mais informações, consulte Endpoint.
-
Verifique a configuração.
Abra o arquivo de configuração .aliyunlogcli. Se a saída for semelhante ao exemplo abaixo, a conta padrão estará configurada.
[main] access-id = LTAI******pLMZ access-key = XjAsP******eRqax region-endpoint = cn-hangzhou.log.aliyuncs.com sts-token =NotaCaminho do arquivo .aliyunlogcli por sistema operacional:
Linux: ~/.aliyunlogcli
Windows: C:\Users\UserName\.aliyunlogcli
Se a configuração falhar, corrija o erro com base no código de erro retornado.
Configurar várias contas
Para gerenciar dados de log em diferentes contas, configure credenciais e endpoints para cada uma.
Faça logon no servidor do SLS CLI.
-
Configure credenciais para contas adicionais.
Execute o seguinte comando:
aliyunlog configure "AccessKey ID" "AccessKey Secret" Endpoint NameSubstitua AccessKey ID e AccessKey Secret pelas credenciais de uma conta com permissões de SLS. Para obter mais informações, consulte Par de AccessKey e Criar um usuário RAM e conceder permissões.
Substitua Endpoint pelo endpoint de um projeto. Use um endpoint público. Para obter mais informações, consulte Endpoint.
Substitua Name por um nome de conta personalizado.
-
Verifique a configuração.
Abra o arquivo de configuração ~/.aliyunlogcli. Se a saída for semelhante ao exemplo abaixo, as contas estarão configuradas.
[main] access-id = LTAI******pLMZ access-key = XjAsP******eRqax region-endpoint = cn-hangzhou.log.aliyuncs.com sts-token = [test] access-id = As******sPzvb access-key = FtagJeR******bQqax region-endpoint = cn-shanghai.log.aliyuncs.com sts-token =NotaCaminho do arquivo .aliyunlogcli por sistema operacional:
Linux: ~/.aliyunlogcli
Windows: C:\Users\UserName\.aliyunlogcli
Se a configuração falhar, corrija o erro com base no código de erro retornado.
Use
--client-name=testNamepara executar um comando com uma conta específica. Por exemplo,aliyunlog log create_project ..... --client-name=testexecuta o comando como a conta test.
Formatar saída
O SLS CLI oferece suporte à formatação JSON e ao escape de caracteres na saída.
-
Formatar saída JSON
Por padrão, o SLS CLI gera a saída JSON em uma única linha. Formate a saída usando um destes métodos:
-
Formatar a saída de um comando específico
Exemplo:
aliyunlog log get_log .... --format-output=jsonformata a saída JSON do comando get_log. -
Formatar a saída de todos os comandos
Execute
aliyunlog configure --format-output=jsonpara formatar globalmente a saída de todos os comandos.
-
-
Escape de caracteres
Por padrão, caracteres não ingleses na saída são escapados. Para exibir os caracteres originais, defina
--format-outputcomono_escape.Execute
aliyunlog configure --format-output=no_escapepara desativar o escape globalmente.
Escapar caracteres especiais
Consultas que contêm cifrões ($), acentos graves (`), barras invertidas (\) ou pontos de exclamação (!) podem falhar ou retornar resultados incorretos.
Escape esses caracteres com barras invertidas (\) ou aspas simples ('):
-
Escapar caracteres especiais com barras invertidas (\):
aliyunlog log get_log_all --project="my-project" --logstore="my-logstore" --query="event_name:\$_enter" --from_time="2021-06-24 15:00:00+08:00" --to_time="2021-06-24 16:00:00+08:00" -
Colocar a consulta entre aspas simples ('):
aliyunlog log get_log_all --project="my-project" --logstore="my-logstore" --query='event_name:$_enter' --from_time="2021-06-24 15:00:00+08:00" --to_time="2021-06-24 16:00:00+08:00"
O manual de Quoting do bash aborda regras adicionais de escape.