Share via


Azure Time Series Insights Gen2-händelsekällor

Anteckning

Tjänsten Time Series Insights (TSI) stöds inte längre efter mars 2025. Överväg att migrera befintliga TSI-miljöer till alternativa lösningar så snart som möjligt. Mer information om utfasning och migrering finns i vår dokumentation.

Din Azure Time Series Insights Gen2-miljö kan ha upp till två strömmande händelsekällor. Två typer av Azure-resurser stöds som indata:

Händelser måste skickas som UTF-8-kodad JSON.

Skapa eller redigera händelsekällor

Händelsekällan är länken mellan din hubb och din Azure Time Series Insights Gen2-miljö, och en separat resurs av typen Time Series Insights event source skapas i resursgruppen. IoT Hub- eller Event Hub-resursen kan finnas i samma Azure-prenumeration som din Azure Time Series Insights Gen2-miljö eller en annan prenumeration. Det är dock bästa praxis att inhysa din Azure Time Series Insights miljö och IoT Hub eller händelsehubb i samma Azure-region.

Du kan använda mallarna Azure Portal, Azure CLI, Azure Resource Manager och REST API för att skapa, redigera eller ta bort miljöns händelsekällor.

Varning

Begränsa inte offentlig Internetåtkomst till en hubb eller händelsekälla som används av Time Series Insights, annars bryts den nödvändiga anslutningen.

Startalternativ

När du skapar en händelsekälla kan du ange vilka befintliga data som ska samlas in. Den här inställningen är valfri. Följande alternativ är tillgängliga:

Name Beskrivning Exempel på Azure Resource Manager-mall
EarliestAvailable Mata in alla befintliga data som lagras i IoT eller Event Hub "ingressStartAt": {"type": "EarliestAvailable"}
EventSourceCreationTime Börja mata in data som kommer när händelsekällan har skapats. Alla befintliga data som strömmades innan händelsekällan skapades ignoreras. Det här är standardinställningen i Azure Portal "ingressStartAt": {"type": "EventSourceCreationTime"}
CustomEnqueuedTime Din miljö matar in data från din anpassade köade tid (UTC) framåt. Alla händelser som har sparats i din IoT eller händelsehubb vid eller efter din anpassade tid matas in och lagras. Alla händelser som anlände före din anpassade köade tid ignoreras. Observera att "enqueued time" refererar till den tid (i UTC) som händelsen anlände till din IoT eller händelsehubb. Detta skiljer sig från en anpassad tidsstämpelegenskap som finns i brödtexten för din händelse. "ingressStartAt": {"type": "CustomEnqueuedTime", "time": "2021-03-01T17:00:00.20Z"}

Viktigt

  • Om du väljer EarliestAvailable och har många befintliga data kan det uppstå långa inledande svarstider när din Azure Time Series Insights Gen2-miljö bearbetar alla dina data.
  • Den här långa svarstiden bör så småningom avta när data indexeras. Skicka in ett supportärende via Azure Portal om du får löpande långa svarstider.
  • EarliestAvailable

EarliestAvailable-diagram

  • EventSourceCreationTime

EventSourceCreationTime-diagram

  • CustomEnqueuedTime

CustomEnqueuedTime-diagram

Metodtips för strömningsinmatning

  • Skapa alltid en unik konsumentgrupp för din Azure Time Series Insights Gen2-miljö för att använda data från händelsekällan. Återanvändning av konsumentgrupper kan orsaka slumpmässiga frånkopplingar och kan leda till dataförlust.

  • Konfigurera din Azure Time Series Insights Gen2-miljö och dina IoT Hub och/eller Event Hubs i samma Azure-region. Även om det är möjligt att konfigurera en händelsekälla i en separat region stöds inte det här scenariot och vi kan inte garantera hög tillgänglighet.

  • Gå inte längre än miljöns gräns för dataflödeshastighet eller gräns per partition.

  • Konfigurera en fördröjningsavisering så att den meddelas om din miljö har problem med att bearbeta data. Se Produktionsarbetsbelastningar nedan för föreslagna aviseringsvillkor.

  • Använd strömmande inmatning för nästan realtidsdata och endast senaste data. Strömmande historiska data stöds inte.

  • Förstå hur egenskaper kommer att undantagas och JSON-data plattas ut och lagras.

  • Följ principen om lägsta behörighet när du tillhandahåller anslutningssträngar för händelsekälla. För Event Hubs konfigurerar du en princip för delad åtkomst med endast sändningsanspråket och för IoT Hub endast använda tjänstens anslutningsbehörighet.

Varning

Om du tar bort din IoT Hub eller händelsehubb och återskapar en ny resurs med samma namn måste du skapa en ny händelsekälla och koppla den nya IoT Hub eller händelsehubben. Data matas inte in förrän du har slutfört det här steget.

Produktionsarbetsbelastningar

Utöver metodtipsen ovan rekommenderar vi att du implementerar följande för affärskritiska arbetsbelastningar.

  • Öka din IoT Hub- eller Event Hub-datakvarhållningstid till högst sju dagar.

  • Skapa miljöaviseringar i Azure Portal. Med aviseringar baserade på plattformsmått kan du verifiera pipelinebeteendet från slutpunkt till slutpunkt. Anvisningarna för att skapa och hantera aviseringar finns här. Föreslagna aviseringsvillkor:

    • IngressReceivedMessagesTimeLag är större än 5 minuter
    • IngressReceivedBytes är 0
  • Håll inmatningsbelastningen balanserad mellan dina IoT Hub- eller Event Hub-partitioner.

Historisk datainmatning

Användning av direktuppspelningspipelinen för att importera historiska data stöds för närvarande inte i Azure Time Series Insights Gen2. Om du behöver importera tidigare data till din miljö följer du riktlinjerna nedan:

  • Strömma inte realtidsdata och historiska data parallellt. Inmatning av data i fel ordning resulterar i försämrad frågeprestanda.
  • Mata in historiska data på tidsbeställt sätt för bästa prestanda.
  • Håll dig inom dataflödeshastighetsgränserna nedan.
  • Inaktivera Warm Store om data är äldre än kvarhållningsperioden för warm store.

Tidsstämpel för händelsekälla

När du konfigurerar en händelsekälla uppmanas du att ange en egenskap för tidsstämpel-ID. Tidsstämpelegenskapen används för att spåra händelser över tid. Det här är den tid som används som tidsstämpel $ts i fråge-API:er och för ritningsserier i Azure Time Series Insights Explorer. Om ingen egenskap anges vid skapandetillfället, eller om tidsstämpelegenskapen saknas i en händelse, används händelsens IoT Hub eller händelsehubbar som standard. Egenskapsvärden för tidsstämpel lagras i UTC.

I allmänhet väljer användarna att anpassa tidsstämpelegenskapen och använda den tid då sensorn eller taggen genererade läsningen i stället för att använda standardhubbens köade tid. Detta är särskilt nödvändigt när enheter har tillfälliga anslutningsförluster och en batch med fördröjda meddelanden vidarebefordras till Azure Time Series Insights Gen2.

Om din anpassade tidsstämpel finns i ett kapslat JSON-objekt eller en matris måste du ange rätt egenskapsnamn enligt våra namngivningskonventioner för utplattande och undantagna namn. Till exempel bör tidsstämpeln för händelsekällan för JSON-nyttolasten som visas här anges som "values.time".

Tidszonsförskjutningar

Tidsstämplar måste skickas i ISO 8601-format och lagras i UTC. Om en tidszonsförskjutning anges tillämpas förskjutningen och sedan den tid som lagras och returneras i UTC-format. Om förskjutningen är felaktigt formaterad ignoreras den. I situationer där din lösning kanske inte har kontext för den ursprungliga förskjutningen kan du skicka förskjutningsdata i en ytterligare separat händelseegenskap för att säkerställa att den bevaras och att ditt program kan referera till i ett frågesvar.

Tidszonsförskjutningen bör formateras som något av följande:

±HHMMZ
±HH:MM
±HH:MMZ

Nästa steg