Un tipo de datos String
El string
tipo de datos representa una secuencia de cero o más caracteres Unicode .
Para obtener información sobre los operadores de consulta de cadena, consulte Operadores de cadena.
Nota
- Internamente, las cadenas se codifican en formato UTF-8. Los caracteres no válidos (que no son UTF8) se reemplazan por caracteres de reemplazo Unicode U+FFFD en el momento de la ingesta.
- Kusto no tiene ningún tipo de datos equivalente a un solo carácter. Un solo carácter se representa como una cadena de longitud 1.
- Al ingerir el
string
tipo de datos, si un valor de cadena único en un registro supera los 1 MB (medidos mediante codificación UTF-8), el valor se trunca y la ingesta se realiza correctamente. Si un valor de cadena único en un registro o todo el registro supera el límite de datos permitido de 64 MB, se produce un error en la ingesta.
Literales string
Puede usar comillas dobles o comillas simples para codificar literales de cadena en texto de consulta. Con comillas dobles, debe escapar caracteres de comillas dobles anidadas con una barra diagonal inversa (\
). Con comillas simples, debe escapar los caracteres de comillas simples anidadas y no es necesario escapar entre comillas dobles.
Use el carácter de barra diagonal inversa para escapar de los caracteres de comillas envolventes, los caracteres de tabulación (\t
), los caracteres de nueva línea (\n
) y la barra diagonal inversa (\\
).
Nota
El carácter de nueva línea (\n
) y el carácter devuelto (\r
) deben ir entre comillas a menos que use literales de cadena de varias líneas.
Literales de cadenas literales
También se admiten literales de cadena textuales. En este formato, el carácter de barra diagonal inversa (\
) representa a sí mismo y no es un carácter de escape. Prepending the @
character to string literals sirve como un identificador textual. En literales de cadena textuales, las comillas dobles se escapan con comillas dobles y las comillas simples se escapan con comillas simples.
Para obtener un ejemplo, consulte Cadena textual.
Nota
El carácter de nueva línea (\n
) y el carácter devuelto (\r
) deben ir entre comillas a menos que use literales de cadena de varias líneas.
Literales de cadena multilínea
Indique un literal de cadena de varias líneas mediante un "acorde triple-backtick" ('') al principio y al final del literal.
Para obtener un ejemplo, vea Literal de cadena de varias líneas.
Nota
- Los literales de cadena de varias líneas admiten caracteres de nueva línea (
\n
) y devuelven (\r
). - Los literales de cadena de varias líneas no admiten caracteres de escape. Similar a los literales de cadena textuales.
- Los literales de cadena de varias líneas no admiten ofuscación.
Concatenación de literales de cadena separados
En una consulta de Kusto, cuando dos o más literales de cadena adyacentes no tienen separación entre ellos, se combinan automáticamente para formar un nuevo literal de cadena. De forma similar, si los literales de cadena solo están separados por espacios en blanco o comentarios, también se combinan para formar un nuevo literal de cadena.
Para obtener un ejemplo, consulte Literales de cadena concatenados.
Literales de cadena ofuscados
Las consultas se almacenan para la telemetría y el análisis. Para proteger información confidencial, como contraseñas y secretos, puede marcar una cadena como un literal de cadena ofuscado. Estas cadenas marcadas se reemplazan por asteriscos (*
) en el texto de la consulta.
Un literal de cadena ofuscado se crea anteponiendo un h
carácter o H
delante de un literal de cadena estándar o textual.
Para obtener un ejemplo, vea Literal de cadena ofuscado.
Importante
Marque todos los literales de cadena que contienen información secreta como literales de cadena ofuscados.
Sugerencia
En algunas situaciones, solo una parte del literal de cadena contiene información secreta. En tales casos, divida el literal en una parte no secreta y una parte secreta. A continuación, etiquete solo la parte secreta como ofuscada.
Ejemplos
Literal de cadena con comillas
En el ejemplo siguiente se muestra cómo usar comillas dentro de literales de cadena que abarcan comillas simples y comillas dobles. Para obtener más información, vea Literales de cadena.
print
s1 = 'string with "double quotes"',
s2 = "string with 'single quotes'"
Salida
s1 | s2 |
---|---|
string con "comillas dobles" | cadena con "comillas simples" |
Literal de cadena con escape de barra diagonal inversa
En el ejemplo siguiente se crea un patrón de expresión regular mediante barras diagonales inversas para escapar caracteres especiales. Para obtener más información, vea Literales de cadena.
print pattern = '\\n.*(>|\'|=|\")[a-zA-Z0-9/+]{86}=='
Salida
pattern |
---|
\n.*(>|'|=|") [a-zA-Z0-9/+]{86}== |
Literal de cadena con Unicode
En el ejemplo siguiente se muestra que se necesita una barra diagonal inversa para incluir un carácter Unicode en un literal de cadena.
print space = "Hello\u00A0World"
Salida
espacio |
---|
Hola mundo |
Literal de cadena textual
En el ejemplo siguiente se crea una ruta de acceso en la que las barras diagonales inversas forman parte de la ruta de acceso en lugar de caracteres de escape. Para ello, el signo de cadena @
se antepone a la cadena, creando un literal de cadena textual.
print myPath = @'C:\Folder\filename.txt'
Salida
myPath |
---|
C:\Folder\filename.txt |
Literal de cadena de varias líneas
En el ejemplo siguiente se muestra la sintaxis de un literal de cadena de varias líneas, que usa nuevas líneas y pestañas para aplicar estilo a un bloque de código. Para obtener más información, consulte Literales de cadena de varias líneas.
print program = ```
public class Program {
public static void Main() {
System.Console.WriteLine("Hello!");
}
}```
Salida
programa |
---|
clase public Program { public static void Main() { System.Console.WriteLine("Hello!"); } } |
Literales de cadena concatenados
Todas las expresiones siguientes producen una cadena de longitud 13. Para obtener más información, vea Concatenación de literales de cadena separados.
print
none = strlen("Hello"', '@"world!"),
whitespace = strlen("Hello" ', ' @"world!"),
whitespaceAndComment = strlen("Hello"
// Comment
', '@"world!"
);
Salida
ninguno | whitespace | espacio en blancoAndComment |
---|---|---|
13 | 13 | 13 |
Literal de cadena ofuscado
En la siguiente salida de consulta, la h
cadena es visible. Sin embargo, en el seguimiento o la telemetría, la h
cadena se sustituye por asteriscos. Para obtener más información, vea Literales de cadena ofuscados.
print blob="https://contoso.blob.core.windows.net/container/blob.txt?"
h'sv=2012-02-12&se=2013-04-13T0...'
Salida
blob |
---|
https://contoso.blob.core.windows.net/container/blob.txt?sv=2012-02-12& se=2013-04-13T0... |
Contenido relacionado
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente las Cuestiones de GitHub como mecanismo de retroalimentación para el contenido y lo sustituiremos por un nuevo sistema de retroalimentación. Para más información, consulta:Enviar y ver comentarios de