Najlepsze rozwiązania dotyczące wybierania identyfikatora szeregu czasowego

Uwaga

Usługa Time Series Insights (TSI) nie będzie już obsługiwana po marcu 2025 r. Rozważ migrację istniejących środowisk TSI do alternatywnych rozwiązań tak szybko, jak to możliwe. Aby uzyskać więcej informacji na temat wycofywania i migracji, odwiedź naszą dokumentację.

W tym artykule podsumowano znaczenie identyfikatora szeregów czasowych dla środowiska Azure Time Series Insights Gen2 oraz najlepsze rozwiązania dotyczące wybierania.

Wybieranie identyfikatora szeregów czasowych

Wybranie odpowiedniego identyfikatora szeregów czasowych ma kluczowe znaczenie. Wybór identyfikatora szeregów czasowych przypomina wybór klucza partycji dla bazy danych. Jest to wymagane podczas tworzenia środowiska Azure Time Series Insights Gen2.

Obejrzyj samouczek aprowizacji środowiska, aby uzyskać szczegółowy opis identyfikatora szeregów czasowych. Zobaczysz dwa różne przykłady ładunków telemetrii JSON i prawidłowy wybór identyfikatora szeregów czasowych dla każdego z nich.

Ważne

Identyfikatory szeregów czasowych to:

  • Właściwość ciągu uwzględniająca wielkość liter: literę i wielkość liter są używane w wyszukiwaniach, porównaniach, aktualizacjach i podczas partycjonowania.
  • Właściwość niezmienna : po utworzeniu nie można jej zmienić.

Porada

Jeśli źródło zdarzeń jest centrum IoT, identyfikator szeregów czasowych prawdopodobnie będzie iothub-connection-device-id. Jeśli planujesz używać IoT Plug and Play modeli urządzeń lub używać ich bez składników, należy dołączyć element dt-subject jako część klucza złożonego, jeśli będzie potrzebny w przyszłości.

Najważniejsze najlepsze rozwiązania, które należy zastosować, obejmują:

  • Wybierz klucz partycji z wieloma odrębnymi wartościami (na przykład setkami lub tysiącami). W wielu przypadkach może to być identyfikator urządzenia, identyfikator czujnika lub identyfikator tagu w formacie JSON.
  • Identyfikator szeregów czasowych powinien być unikatowy na poziomie węzła liścia modelu szeregów czasowych.
  • Limit znaków dla ciągu nazwy właściwości identyfikatora szeregów czasowych wynosi 128. Dla wartości właściwości identyfikatora szeregów czasowych limit znaków wynosi 1024.
  • Jeśli brakuje unikatowej wartości właściwości identyfikatora szeregów czasowych, jest ona traktowana jako wartość null i jest zgodna z tą samą regułą ograniczenia unikatowości.
  • Jeśli identyfikator szeregów czasowych jest zagnieżdżony w złożonym obiekcie JSON, pamiętaj, aby postępować zgodnie z regułami spłaszczania ruchu przychodzącego podczas podawania nazwy właściwości. Zapoznaj się z przykładem B.
  • Możesz również wybrać maksymalnie trzy kluczowe właściwości jako identyfikator szeregów czasowych. Ich kombinacja będzie kluczem złożonym reprezentującym identyfikator szeregów czasowych.

    Uwaga

    Trzy kluczowe właściwości muszą być ciągami. Należy wykonać zapytanie względem tego klucza złożonego zamiast jednej właściwości naraz.

Wybierz więcej niż jedną właściwość klucza

W poniższych scenariuszach opisano wybieranie więcej niż jednej właściwości klucza jako identyfikatora szeregów czasowych.

Przykład 1. Identyfikator szeregów czasowych z unikatowym kluczem

  • Masz starsze floty zasobów. Każdy z nich ma unikatowy klucz.
  • Jedna flota jest unikatowo identyfikowana przez identyfikator deviceId właściwości. W przypadku innej floty unikatową właściwością jest objectId. Żadna flota nie zawiera unikatowej właściwości innego floty. W tym przykładzie należy wybrać dwa klucze, deviceId i objectId jako unikatowe klucze.
  • Akceptujemy wartości null i brak obecności właściwości w ładunku zdarzenia jest liczone jako wartość null. Jest to również odpowiedni sposób obsługi wysyłania danych do dwóch źródeł zdarzeń, w których dane w każdym źródle zdarzeń mają unikatowy identyfikator szeregów czasowych.

Przykład 2. Identyfikator szeregów czasowych z kluczem złożonym

  • Wymaganie, aby wiele właściwości było unikatowych w tej samej flocie zasobów.
  • Jesteś producentem inteligentnych budynków i wdrażasz czujniki w każdym pomieszczeniu. W każdym pomieszczeniu zazwyczaj są takie same wartości dla sensorId. Przykłady to sensor1, sensor2 i sensor3.
  • Budynek ma nakładające się numery pomieszczeń i pomieszczeń w obiektach flrRm. Te liczby mają wartości, takie jak 1a, 2b i 3a.
  • Masz właściwość, lokalizację, która zawiera wartości, takie jak Redmond, Barcelona i Tokio. Aby utworzyć unikatowość, należy wyznaczyć następujące trzy właściwości jako klucze identyfikatorów szeregów czasowych: sensorId, flrRm i location.

Przykładowe nieprzetworzone zdarzenie:

{
  "sensorId": "sensor1",
  "flrRm": "1a",
  "location": "Redmond",
  "temperature": 78
}

W Azure Portal możesz wprowadzić klucz złożony w następujący sposób:

Skonfiguruj identyfikator szeregów czasowych dla środowiska.

Uwaga

W Azure Portal nie wprowadzaj nazw właściwości rozdzielanych przecinkami w jednym polu texbox. W przeciwnym razie będzie ona traktowana jako pojedyncza nazwa właściwości zawierająca przecinki. Wprowadź każdą nazwę właściwości we własnym polu texbox.

Następne kroki