Published on

December 11, 2020

Explorando conceptos de SQL Server: Uso de Azure Data Factory y la API de Log Analytics

¿Estás trabajando en un proyecto que implica recuperar datos de la API de Log Analytics de Azure utilizando Azure Data Factory? Si es así, es posible que encuentres útil este artículo. En esta publicación, discutiremos cómo el lenguaje de consulta utilizado por Log Analytics, llamado Kusto Query Language (KQL), se traduce a T-SQL y exploraremos algunos conceptos importantes y consideraciones al trabajar con la API de Log Analytics.

Traduciendo T-SQL a KQL

Si estás familiarizado con T-SQL, te alegrará saber que muchos conceptos se traducen directamente a KQL. Veamos un ejemplo:


-- T-SQL:
SELECT * FROM dbo.AzureDiagnostics
WHERE TimeGenerated BETWEEN '2020-12-15' AND '2020-12-16'
AND database_name_s = 'mydatabasename'

-- KQL:
AzureDiagnostics
| where TimeGenerated between (datetime('2020-12-15') .. datetime('2020-12-16'))
| where database_name_s == 'mydatabasename'

Como puedes ver, la estructura básica de la consulta sigue siendo la misma, con pequeñas diferencias en la sintaxis. Comprender esta traducción puede ayudarte a aprovechar tus conocimientos existentes de T-SQL al trabajar con KQL.

Recuperando datos de la API de Log Analytics

Al trabajar con la API de Log Analytics, tienes varias opciones para ejecutar consultas KQL. Puedes utilizar la interfaz de usuario de Log Analytics en el Portal de Azure, un cuaderno en Azure Data Studio o directamente a través de la API. Los datos resultantes suelen estar en un formato que requiere cierto análisis, pero se pueden utilizar con un poco de esfuerzo.

Para recuperar los resultados de una consulta KQL y almacenarlos en una cuenta de almacenamiento de Azure, puedes utilizar una actividad de copia de Azure Data Factory. Sin embargo, antes de ejecutar la consulta, debes obtener un token de autorización. Esto se puede hacer creando un registro de aplicación en Azure Active Directory y realizando una solicitud POST a la URL correspondiente.

Trabajando con la actividad de copia en Azure Data Factory

La actividad de copia en Azure Data Factory te permite recuperar datos de la API de Log Analytics y almacenarlos en un destino de tu elección. Aquí tienes algunos pasos y consideraciones importantes:

  • Configura el conector REST en la actividad de copia con la URL base establecida en el punto de conexión de la API de Log Analytics.
  • Establece la autenticación como Anónima.
  • Especifica la consulta KQL en el cuerpo de la solicitud de la actividad de copia.
  • Agrega los encabezados necesarios, incluido el encabezado de Autorización con el token de autorización obtenido anteriormente.

Es importante tener en cuenta que la consulta KQL debe pasarse como una cadena JSON en el cuerpo de la solicitud. Data Factory tiene requisitos específicos sobre cómo debe formatearse la consulta, así que asegúrate de seguir las pautas proporcionadas.

Consideraciones y limitaciones

Al trabajar con la API de Log Analytics, hay algunas consideraciones y limitaciones importantes que debes tener en cuenta:

  • Las consultas tienen límites en el número de filas y bytes devueltos, así como en el tiempo máximo de ejecución.
  • Si una consulta supera estos límites, la API devolverá resultados parciales sin indicar un error.
  • Para evitar alcanzar estos límites, es posible que debas ajustar tus consultas o implementar la paginación.

Además, es crucial manejar tus entradas y salidas de manera segura para proteger tus secretos y tokens de ser registrados en Data Factory. Aprovecha las opciones de seguridad disponibles en Data Factory para garantizar la confidencialidad de tus datos.

Conclusión

Trabajar con Azure Data Factory y la API de Log Analytics puede ser una combinación poderosa para recuperar y almacenar datos de bases de datos SQL de Azure. Al comprender la traducción entre T-SQL y KQL, configurar correctamente la actividad de copia y considerar las limitaciones de la API, puedes aprovechar eficazmente estas herramientas en tus proyectos.

Recuerda siempre probar e iterar a medida que avanzas en el proceso, y no dudes en buscar ayuda en la documentación de la API y en recursos en línea. ¡Felices consultas!

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.