Lors de l'interrogation et de l'analyse des journaux, vous devez placer certains noms de champs, noms de tables ou valeurs de champ entre guillemets, en particulier s'ils contiennent des espaces, des caractères spéciaux ou des mots-clés syntaxiques.
Utilisation des guillemets dans les instructions de recherche
Description
Si un nom de champ ou une valeur de champ contient des caractères spéciaux (espaces, caractères chinois, etc.) ou des mots-clés syntaxiques tels que AND ou OR, placez-le entre guillemets doubles (""). Pour plus d'informations sur la syntaxe de recherche, consultez la rubrique Syntaxe de recherche.
Exemples
-
Recherchez les journaux dont la valeur du champ
request methodcontientPUT. Comme le nom du champ contient un espace, encadrez-le de guillemets doubles ("") dans l'instruction de recherche."request method":PUT -
Recherchez les journaux dont la valeur du champ
remote_userest une chaîne vide.remote_user:"" -
Recherchez les journaux dont la valeur du champ
regioncontientcn*.cn*est une chaîne. Si une entrée de journal vautregion:cn*,enet que le délimiteur est une virgule (,), Simple Log Service divise la valeur enregion,cn*eten. Utilisez l'instruction de recherche suivante pour trouver cette entrée :region:"cn*"
Utilisation des guillemets dans une instruction analytique (instruction SELECT)
Description
Si un identifiant (nom de champ ou de table) contient des caractères spéciaux (espaces, caractères chinois, etc.) ou des mots-clés syntaxiques tels que AND ou OR, placez-le entre guillemets doubles ("") dans les instructions analytiques, y compris les instructions SELECT.
Placez les littéraux de chaîne entre guillemets simples (''). Les éléments sans guillemets ou entre guillemets doubles ("") désignent un nom de champ ou de colonne. Par exemple,
'status'représente la chaînestatus, tandis questatusou"status"représente le champ de journalstatus.
Exemples
-
Calculez les 10 requêtes les plus longues.
Le nom de colonne
top 10contenant un espace, encadrez-le de guillemets doubles ("").* | SELECT max(request_time,10) AS "top 10" -
Recherchez les journaux dont les adresses IP correspondent à
192.168.XX.XX.* | select * from log where key like '192.168.%.%' -
Calculez le nombre de journaux de requêtes par code d'état.
Le champ
contentest indexé avec le type de données JSON. Pour plus d'informations, consultez la rubrique Comment interroger et analyser un champ JSON indexé ?* | SELECT "content.status", COUNT(*) AS PV GROUP BY "content.status"