Configure SLS CLI para establecer las credenciales predeterminadas, el endpoint y el formato de salida para todos los comandos.
Fuentes de credenciales y prioridad
SLS CLI reutiliza las credenciales de Alibaba Cloud CLI cuando están disponibles, por lo que no se requiere configuración adicional de la cuenta. Configure Alibaba Cloud CLI.
Prioridad de resolución de credenciales (de mayor a menor):
|
Fuente de credenciales |
Descripción |
|
Parámetros del subcomando (par de AccessKey, región) |
Credenciales pasadas directamente en el subcomando. |
|
El parámetro profile en SLS CLI |
Utiliza el perfil especificado mediante |
|
Variable de entorno ALIYUN_LOG_CLI |
Utiliza la variable de entorno ALIYUN_LOG_CLI. |
|
Archivo de configuración de SLS CLI |
Denominado .aliyunlogcli. Para obtener más información, consulte Configure the default account y Configure multiple accounts. |
|
Variable de entorno ALIBABACLOUD (Alibaba Cloud CLI) |
Utiliza la variable de entorno ALIBABACLOUD. |
|
Variable de entorno ALICLOUD (Alibaba Cloud CLI) |
Utiliza la variable de entorno ALICLOUD. |
|
Archivo de configuración de Alibaba Cloud CLI |
Utiliza el archivo de configuración de Alibaba Cloud CLI. Nota
Rutas del archivo de configuración:
|
Configurar la cuenta predeterminada
SLS CLI utiliza la cuenta main de forma predeterminada. Configure un par de AccessKey y un endpoint para la cuenta main, y otórguele permisos para gestionar proyectos.
Inicie sesión en el servidor de SLS CLI.
-
Configure las credenciales de la cuenta predeterminada.
Ejecute el siguiente comando:
aliyunlog configure "AccessKey ID" "AccessKey Secret" EndpointReemplace AccessKey ID y AccessKey Secret con las credenciales de una cuenta que tenga permisos de SLS. Para obtener más información, consulte AccessKey pair y Create a RAM user and grant permissions.
Reemplace Endpoint con el endpoint de un proyecto. Utilice un endpoint público. Para obtener más información, consulte Endpoint.
-
Compruebe la configuración.
Abra el archivo de configuración .aliyunlogcli. Si contiene una salida similar a la siguiente, la cuenta predeterminada está configurada correctamente.
[main] access-id = LTAI******pLMZ access-key = XjAsP******eRqax region-endpoint = cn-hangzhou.log.aliyuncs.com sts-token =NotaLa ruta del archivo .aliyunlogcli según el sistema operativo:
Linux: ~/.aliyunlogcli
Windows: C:\Users\UserName\.aliyunlogcli
Si la configuración falla, corrija el error basándose en el código de error devuelto.
Configurar varias cuentas
Para gestionar datos de registros en distintas cuentas, configure las credenciales y los endpoints correspondientes a cada una.
Inicie sesión en el servidor de SLS CLI.
-
Configure las credenciales para las cuentas adicionales.
Ejecute el siguiente comando:
aliyunlog configure "AccessKey ID" "AccessKey Secret" Endpoint NameReemplace AccessKey ID y AccessKey Secret con las credenciales de una cuenta que tenga permisos de SLS. Para obtener más información, consulte AccessKey pair y Create a RAM user and grant permissions.
Reemplace Endpoint con el endpoint de un proyecto. Utilice un endpoint público. Para obtener más información, consulte Endpoint.
Reemplace Name con un nombre de cuenta personalizado.
-
Compruebe la configuración.
Abra el archivo de configuración ~/.aliyunlogcli. Si contiene una salida similar a la siguiente, las cuentas están configuradas correctamente.
[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 =NotaLa ruta del archivo .aliyunlogcli según el sistema operativo:
Linux: ~/.aliyunlogcli
Windows: C:\Users\UserName\.aliyunlogcli
Si la configuración falla, corrija el error basándose en el código de error devuelto.
Utilice
--client-name=testNamepara ejecutar un comando con una cuenta específica. Por ejemplo,aliyunlog log create_project ..... --client-name=testejecuta el comando como la cuenta test.
Formato de salida
SLS CLI admite el formato JSON y el escape de caracteres en la salida.
-
Formato de salida JSON
De forma predeterminada, SLS CLI genera la salida JSON en una sola línea. Formatee la salida mediante uno de los siguientes métodos:
-
Formatear la salida de un comando específico
Ejemplo:
aliyunlog log get_log .... --format-output=jsonformatea la salida JSON del comando get_log. -
Formatear la salida de todos los comandos
Ejecute
aliyunlog configure --format-output=jsonpara formatear globalmente la salida de todos los comandos.
-
-
Escape de caracteres
De forma predeterminada, los caracteres no ingleses en la salida se escapan. Para obtener los caracteres originales, establezca
--format-outputenno_escape.Ejecute
aliyunlog configure --format-output=no_escapepara deshabilitar el escape de caracteres de forma global.
Escapar caracteres especiales
Las consultas que contienen signos de dólar ($), acentos graves (`), barras invertidas (\) o signos de exclamación (!) pueden fallar o devolver resultados incorrectos.
Escape estos caracteres con barras invertidas (\) o comillas simples ('):
-
Escapar caracteres especiales con 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" -
Encerrar la consulta entre comillas 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"
El manual de Bash sobre Quoting cubre reglas de escape adicionales.