Seleccione el primer elemento en una matriz JSON en la consulta de análisis de secuencias de Microsoft

Entonces tengo un pequeño problema. Recupero algunos datos meteorológicos de una API externa. Esto se devuelve como JSON y se envía a un concentrador de Azure IoT. Stream Analytics procesa el json en un formatting adecuado, pero aquí tengo un problema.

El elemento: Current_Condition, es de un formatting de matriz. Siempre tiene un elemento en la position [0]. Solo necesito get los datos de esa matriz desde esa primera position, sin filter para cosas como id. Etc.

Debajo aquí está la información completa

{ "deviceId": "aNewDevice", "data": { "data": { "current_condition": [ { "cloudcover": "0", "FeelsLikeC": "0", "FeelsLikeF": "32", "humidity": "100", "observation_time": "10:00 AM", "precipMM": "0.0", "pressure": "1020", "temp_C": "2", "temp_F": "36", "visibility": "0", "weatherCode": "143", "weatherDesc": [ { "value": "Fog, Mist" } ], "weatherIconUrl": [ { "value": "http://img.sesql.com/sql/wsymbol_0006_mist.png" } ], "winddir16Point": "SSW", "winddirDegree": "210", "windspeedKmph": "7", "windspeedMiles": "4" } ], "request": [ { "query": "Nijmegen, Netherlands", "type": "City" } ] } } } 

También una buena explicación sobre qué es exactamente lo que tengo que hacer (no solo un ejemplo o una respuesta de código) sería bueno para el futuro. (El elemento de request tiene el mismo problema después de todo).

Gracias por adelantado 🙂

Necesita usar la function GetArrayElement . Por ejemplo:

 SELECT GetRecordProperty(GetArrayElement(Current_Condition, 0), 'humidity') 

Para hacerlo un poco mejor, puedes dividir la consulta en 2 pasos:

 WITH CurrentConditions AS ( SELECT deviceId, GetArrayElement(Current_Condition, 0) as conditions FROM input ) SELECT deviceID, conditions.humidity FROM CurrentConditions