Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym samouczku utworzysz graf w usłudze Azure Digital Twins przy użyciu modeli, reprezentacji bliźniaczych i relacji. Narzędzie do tego samouczka to zestaw poleceń Azure Digital Twins dla Azure CLI.
Polecenia interfejsu wiersza polecenia umożliwiają wykonywanie podstawowych czynności Azure Digital Twins, takich jak przekazywanie modeli, tworzenie i modyfikowanie bliźniaków cyfrowych oraz tworzenie relacji. Możesz również zapoznać się z dokumentacją referencyjną zestawu poleceń az dt, aby wyświetlić pełny zestaw poleceń CLI.
W tym samouczku nauczysz się...
- Modelowanie środowiska
- Tworzenie cyfrowych bliźniaków
- Dodawanie relacji w celu utworzenia grafu
- Wykonywanie zapytań względem grafu w celu udzielenia odpowiedzi na pytania
Wymagania wstępne
Aby wykonać kroki opisane w tym samouczku, należy najpierw spełnić następujące wymagania wstępne.
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Pobieranie przykładowych modeli
W tym samouczku są używane dwa wstępnie napisane modele, które są częścią kompleksowego projektu przykładowego języka C# dla usługi Azure Digital Twins. Pliki modelu znajdują się tutaj:
Aby pobrać pliki na maszynie, użyj linków nawigacji na poprzedniej liście i skopiuj elementy plików do plików lokalnych na maszynie o takich samych nazwach (Room.json i Floor.json).
Przygotuj środowisko dla Azure CLI
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z usługą Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Uwierzytelnianie na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
Gdy pojawi się monit, zainstaluj rozszerzenie Azure CLI przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
Konfigurowanie sesji CLI
Aby rozpocząć pracę z Azure Digital Twins w CLI, najpierw należy się zalogować i ustawić kontekst CLI na swoją subskrypcję na tę sesję. Uruchom następujące polecenia w oknie interfejsu wiersza polecenia:
az login
az account set --subscription "<your-Azure-subscription-ID>"
Napiwek
Możesz również użyć nazwy subskrypcji zamiast identyfikatora w poprzednim poleceniu.
Jeśli używasz tej subskrypcji z usługą Azure Digital Twins po raz pierwszy, uruchom następujące polecenie, aby zarejestrować się w przestrzeni nazw usługi Azure Digital Twins. (Jeśli nie masz pewności, możesz uruchomić go ponownie, nawet jeśli uruchomiono go kiedyś w przeszłości).
az provider register --namespace 'Microsoft.DigitalTwins'
Następnie dodaj rozszerzenie Microsoft Azure IoT dla Azure CLI, aby umożliwić korzystanie z poleceń do interakcji z Azure Digital Twins i innymi usługami IoT. Uruchom to polecenie, aby upewnić się, że masz najnowszą wersję rozszerzenia:
az extension add --upgrade --name azure-iot
Teraz możesz pracować z usługą Azure Digital Twins w interfejsie wiersza polecenia platformy Azure.
Ten stan można sprawdzić, uruchamiając polecenie az dt --help w dowolnym momencie, aby wyświetlić listę dostępnych poleceń usługi Azure Digital Twins najwyższego poziomu.
Przygotuj instancję Azure Digital Twins
Aby pracować z usługą Azure Digital Twins w tym artykule, najpierw należy skonfigurować instancję usługi Azure Digital Twins i wymagane uprawnienia do korzystania z niej. Jeśli masz już wystąpienie usługi Azure Digital Twins skonfigurowane w ramach wcześniejszych prac, możesz użyć tego wystąpienia.
W przeciwnym razie postępuj zgodnie z instrukcjami w sekcji konfigurowanie wystąpienia i uwierzytelnianie. Instrukcje zawierają również kroki umożliwiające sprawdzenie, czy pomyślnie ukończyłeś każdy krok i jesteś gotowy, aby zacząć korzystać z nowego wystąpienia.
Po skonfigurowaniu wystąpienia usługi Azure Digital Twins zanotuj następujące wartości, które będą potrzebne do późniejszego połączenia z tym wystąpieniem.
- Nazwa hosta wystąpienia
- Subskrypcja Azure, której użyłeś do utworzenia wystąpienia
Napiwek
Jeśli znasz przyjazną nazwę wystąpienia, możesz użyć następującego polecenia wiersza poleceń, aby uzyskać nazwę hosta i informacje o subskrypcji:
az dt show --dt-name <Azure-Digital-Twins-instance-name>
Są one wyświetlane w danych wyjściowych w następujący sposób:
Modelowanie środowiska fizycznego przy użyciu języka DTDL
Po skonfigurowaniu interfejsu wiersza polecenia i wystąpienia usługi Azure Digital Twins możesz rozpocząć tworzenie grafu scenariusza.
Pierwszym krokiem w tworzeniu rozwiązania Azure Digital Twins jest określanie modeli dla środowiska.
Modele są podobne do klas w językach programowania obiektowego; udostępniają szablony zdefiniowane przez użytkownika dla cyfrowych bliźniaków, aby je później zinstancjować. Są one napisane w języku podobnym do JSON o nazwie Digital Twins Definition Language (DTDL) i mogą definiować właściwości, relacje i składniki bliźniaka.
Uwaga
Język DTDL umożliwia również definiowanie poleceń na cyfrowych bliźniakach. Jednak polecenia nie są obecnie obsługiwane w usłudze Azure Digital Twins.
Przejdź na maszynie do pliku Room.json utworzonego w sekcji Wymagania wstępne. Otwórz go w edytorze kodu i zmień go na następujące sposoby:
Zaktualizuj numer wersji, aby wskazać, że udostępniasz bardziej zaktualizowaną wersję tego modelu. Zrób to, zmieniając 1 na końcu
@idna 2. Każda liczba większa niż bieżący numer wersji również będzie działać.Edytuj właściwość. Zmień nazwę
Humiditywłaściwości na HumidityLevel (lub coś innego, jeśli chcesz). Jeśli użyjesz innej nazwy niż HumidityLevel, zapamiętaj ją i używaj jej konsekwentnie zamiast HumidityLevel w całym samouczku.Dodaj właściwość. Poniżej właściwości, która kończy się w wierszu 15, wklej następujący kod, aby dodać właściwość
HumidityLeveldo pokoju.,{ "@type": "Property", "name": "RoomName", "schema": "string" }Dodaj relację. Poniżej właśnie dodanej
RoomNamewłaściwości wklej następujący kod, aby dodać możliwość tworzeniacontainsrelacji z innymi bliźniakami:,{ "@type": "Relationship", "name": "contains" }
Po zakończeniu zaktualizowany model powinien odpowiadać temu:
{
"@id": "dtmi:example:Room;2",
"@type": "Interface",
"displayName": "Room",
"contents": [
{
"@type": "Property",
"name": "Temperature",
"schema": "double"
},
{
"@type": "Property",
"name": "HumidityLevel",
"schema": "double"
}
,{
"@type": "Property",
"name": "RoomName",
"schema": "string"
}
,{
"@type": "Relationship",
"name": "contains"
}
],
"@context": "dtmi:dtdl:context;3"
}
Przed przejściem upewnij się, że plik został zapisany.
Przekazywanie modeli do usługi Azure Digital Twins
Po zaprojektowaniu modeli należy je przesłać do instancji usługi Azure Digital Twins. Skonfigurujesz w ten sposób wystąpienie usługi Azure Digital Twins za pomocą własnego niestandardowego słownictwa domeny. Po przekazaniu modeli można tworzyć bliźniacze wystąpienia, które z nich korzystają.
Jeśli używasz lokalnej instalacji interfejsu wiersza polecenia platformy Azure, możesz pominąć ten krok. Jeśli używasz usługi Cloud Shell, musisz przekazać pliki modelu do magazynu usługi Cloud Shell, aby pliki były dostępne podczas uruchamiania polecenia usługi Cloud Shell, które z nich korzysta. Wybierz pozycję Zarządzaj plikami , a następnie pozycję Przekaż.
Przejdź do pliku Room.json na maszynie i wybierz pozycję "Otwórz". Następnie powtórz ten krok dla Floor.json.
Następnie użyj polecenia az dt model create, jak pokazano w poniższym przykładzie, aby wgrać zaktualizowany model pomieszczenia do instancji usługi Azure Digital Twins. Drugie polecenie przekazuje inny model o nazwie Floor, który będzie również używany w następnej sekcji, aby utworzyć różne typy bliźniaków. Jest symbol zastępczy nazwy hosta wystąpienia (można również użyć przyjaznej nazwy wystąpienia, co może spowodować nieznaczny spadek wydajności) oraz symbol zastępczy dla ścieżki do każdego pliku modelu. Jeśli używasz usługi Cloud Shell, Room.json i Floor.json znajdują się w głównym katalogu pamięci masowej, więc możesz po prostu użyć nazw plików bezpośrednio w następujących poleceniach, w których wymagana jest ścieżka.
az dt model create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --models <path-to-Room.json> az dt model create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --models <path-to-Floor.json>Rezultaty z każdego polecenia zawierają informacje o pomyślnie załadowanym modelu.
Napiwek
Możesz również jednocześnie przekazać wszystkie modele w katalogu, używając opcji
--from-directorypolecenia tworzenia modelu. Więcej informacji znajdziesz w sekcji Parametry opcjonalne dla polecenia az dt model create.Sprawdź, czy modele zostały utworzone za pomocą polecenia az dt model list , jak pokazano w poniższym przykładzie. W ten sposób wyświetlana jest lista wszystkich modeli wgranych do wystąpienia usługi Azure Digital Twins wraz z ich pełnymi informacjami. Jest jeden symbol zastępczy dla nazwy hosta instancji (można również użyć przyjaznej nazwy instancji, co wiąże się z niewielkim spadkiem wydajności).
az dt model list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --definitionWyszukaj edytowany model pokoju w wynikach:
Błędy
Interfejs wiersza polecenia obsługuje również błędy z usługi.
Uruchom ponownie polecenie, az dt model create aby spróbować ponownie załadować jeden z przekazanych modeli po raz drugi:
az dt model create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --models Room.json
Ponieważ nie można zastąpić modeli, uruchomienie tego polecenia w tym samym modelu zwraca teraz kod błędu .ModelIdAlreadyExists
Tworzenie cyfrowych bliźniaków
Teraz, gdy niektóre modele są przekazywane do wystąpienia usługi Azure Digital Twins, możesz utworzyć cyfrowe reprezentacje bliźniacze na podstawie definicji modelu. Cyfrowe bliźniaki reprezentują podmioty w środowisku biznesowym — takie jak czujniki na gospodarstwie rolnym, pokoje w budynku lub światła w samochodzie.
Aby utworzyć cyfrowego bliźniaka, użyj polecenia az dt twin create. Należy powołać się na model, na podstawie którego stworzono bliźniaka, i opcjonalnie zdefiniować wartości początkowe dla dowolnych właściwości w modelu. Na tym etapie nie trzeba przekazywać żadnych informacji o relacji.
Uruchom ten kod w konsoli, aby utworzyć kilka bliźniaków na podstawie zaktualizowanego wcześniej modelu Pokoju i innego modelu Podłogi. Pamiętaj, że pokój ma trzy właściwości, więc można podać argumenty z początkowymi wartościami dla tych właściwości. (Inicjowanie wartości właściwości jest opcjonalne ogólnie, ale są one wymagane w tym samouczku). Istnieje jeden symbol zastępczy nazwy hosta wystąpienia (można również użyć przyjaznej nazwy wystąpienia z niewielkim spadkiem wydajności).
az dt twin create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --dtmi "dtmi:example:Room;2" --twin-id room0 --properties '{"RoomName":"Room0", "Temperature":70, "HumidityLevel":30}' az dt twin create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --dtmi "dtmi:example:Room;2" --twin-id room1 --properties '{"RoomName":"Room1", "Temperature":80, "HumidityLevel":60}' az dt twin create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --dtmi "dtmi:example:Floor;1" --twin-id floor0 az dt twin create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --dtmi "dtmi:example:Floor;1" --twin-id floor1Uwaga
Jeśli używasz czegoś innego niż Cloud Shell w środowisku Bash, być może będziesz musiał uciec się do znaków specjalnych w osadzonym JSON, aby były one poprawnie analizowane.
Aby uzyskać więcej informacji, zapoznaj się z Jak używać znaków specjalnych w różnych powłokach.
Dane wyjściowe z każdego polecenia zawierają informacje o pomyślnie utworzonej bliźniaczej jednostce (w tym właściwościach bliźniaczych jednostek pokoju, które zostały zainicjowane razem z nimi).
Możesz sprawdzić, czy bliźniaki zostały utworzone za pomocą polecenia az dt twin query, jak pokazano w poniższym przykładzie. Zapytanie pokazane znajduje wszystkie cyfrowe bliźniaki w Twoim wystąpieniu Azure Digital Twins. Jest jeden symbol zastępczy dla nazwy hosta instancji (można również użyć przyjaznej nazwy instancji, co wiąże się z niewielkim spadkiem wydajności).
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DIGITALTWINS"Poszukaj w wynikach bliźniaków room0, room1, floor0 i floor1. Oto fragment przedstawiający część wyniku tego zapytania.
Uwaga
Po wprowadzeniu zmiany danych na grafie może wystąpić opóźnienie do 10 sekund, zanim zmiany zostaną odzwierciedlone w zapytaniach.
Interfejs API DigitalTwins odzwierciedla zmiany natychmiast, więc jeśli potrzebujesz natychmiastowej odpowiedzi, użyj żądania interfejsu API (DigitalTwins GetById) lub wywołania zestawu SDK (GetDigitalTwin), aby uzyskać dane cyfrowego bliźniaka zamiast zapytania.
Modyfikacja cyfrowego bliźniaka
Można również zmodyfikować właściwości utworzonego bliźniaka.
Uruchom następujące polecenie az dt twin update, aby zmienić nazwę pokoju Room0 z Room0 na PresidentialSuite. Jest jeden symbol zastępczy dla nazwy hosta instancji (można również użyć przyjaznej nazwy instancji, co wiąże się z niewielkim spadkiem wydajności).
az dt twin update --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room0 --json-patch '{"op":"add", "path":"/RoomName", "value": "PresidentialSuite"}'Uwaga
W tym samouczku zalecamy używanie interfejsu wiersza poleceń (CLI) w środowisku powłoki Bash. Jeśli używasz środowiska programu PowerShell, może być konieczne ucieczka znaków cudzysłowu w celu poprawnego
--json-patchprzeanalizowania wartości JSON.Dane wyjściowe tego polecenia pokazują bieżące informacje o bliźniaku i powinny wyświetlić nową wartość dla
RoomNamew wyniku.Możesz sprawdzić, czy aktualizacja powiodła się, uruchamiając polecenie az dt twin show , aby wyświetlić informacje o pokoju0. Jest jeden symbol zastępczy dla nazwy hosta instancji (można również użyć przyjaznej nazwy instancji, co wiąże się z niewielkim spadkiem wydajności).
az dt twin show --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room0Dane wyjściowe powinny odzwierciedlać zaktualizowaną nazwę.
Tworzenie grafu przez dodawanie relacji
Następnie możesz utworzyć relacje między tymi bliźniakami, aby połączyć je w graf bliźniaków. Wykresy bliźniacze są używane do przedstawiania całego środowiska.
Typy relacji, które można utworzyć z jednej bliźniaczej jednostki do drugiej, są definiowane we wcześniej przekazanych modelach. Definicja modelu dla podłogi wskazuje, że podłogi mogą mieć typ relacji o nazwie contains. Ponieważ definicja modelu określa tę relację, można utworzyć relację typu contains z każdego bliźniaka cyfrowego piętro do odpowiedniego pokoju, który zawiera.
Aby dodać relację, użyj polecenia az dt twin relationship create. Określ bliźniaka, z którego pochodzi relacja, typ relacji i bliźniaka, z którym relacja się łączy. Na koniec nadaj relacji unikatowy identyfikator. Jeśli zdefiniowano relację, której nadano właściwości, można również zainicjować właściwości relacji w tym poleceniu.
Uruchom następujący kod, aby dodać relację typu
containsz każdego wcześniej utworzonego bliźniaka Piętra do odpowiadającego mu bliźniaka Pokoju. Relacje mają nazwę relationship0 i relationship1. Jest jeden symbol zastępczy dla nazwy hosta instancji (można również użyć przyjaznej nazwy instancji, co wiąże się z niewielkim spadkiem wydajności).az dt twin relationship create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --relationship-id relationship0 --relationship contains --twin-id floor0 --target room0 az dt twin relationship create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --relationship-id relationship1 --relationship contains --twin-id floor1 --target room1Napiwek
Relacja
containsw modelu Floor została również zdefiniowana z dwiema właściwościami,ownershipUserorazownershipDepartment, dzięki czemu można podać argumenty z początkowymi wartościami dla tych właściwości przy tworzeniu relacji. Aby utworzyć relację z tymi właściwościami zainicjowanymi, dodaj opcję--propertiesdo jednego z powyższych poleceń, w następujący sposób:... --properties '{"ownershipUser":"MyUser", "ownershipDepartment":"MyDepartment"}'Dane wyjściowe z każdego polecenia zawierają informacje o pomyślnie utworzonej relacji.
Relacje można zweryfikować przy użyciu dowolnego z następujących poleceń, które wyświetlają relacje w wystąpieniu usługi Azure Digital Twins. Każde polecenie ma jeden symbol zastępczy dla nazwy hosta instancji (można również użyć przyjaznej nazwy instancji, co spowoduje niewielki spadek wydajności).
- Aby wyświetlić wszystkie relacje wychodzące z każdego piętra (wyświetlanie relacji z jednej strony):
az dt twin relationship list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id floor0 az dt twin relationship list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id floor1 - Aby wyświetlić wszystkie relacje przychodzące do każdego pokoju (wyświetlanie relacji z "drugiej" strony):
az dt twin relationship list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room0 --incoming az dt twin relationship list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room1 --incoming - Aby wyszukać te relacje pojedynczo, na podstawie ID:
az dt twin relationship show --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id floor0 --relationship-id relationship0 az dt twin relationship show --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id floor1 --relationship-id relationship1
- Aby wyświetlić wszystkie relacje wychodzące z każdego piętra (wyświetlanie relacji z jednej strony):
Bliźniacze i relacje skonfigurowane w tym samouczku tworzą następujący graf koncepcyjny:
Wykonywanie zapytań względem grafu bliźniaczego w celu udzielenia odpowiedzi na pytania dotyczące środowiska.
Główną funkcją usługi Azure Digital Twins jest możliwość łatwego i wydajnego wykonywania zapytań dotyczących grafu cyfrowych bliźniaków, aby odpowiadać na pytania dotyczące środowiska. W interfejsie wiersza polecenia Azure zapytania są wykonywane za pomocą polecenia az dt twin query.
Uwaga
Po wprowadzeniu zmiany danych na grafie może wystąpić opóźnienie do 10 sekund, zanim zmiany zostaną odzwierciedlone w zapytaniach.
Interfejs API DigitalTwins odzwierciedla zmiany natychmiast, więc jeśli potrzebujesz natychmiastowej odpowiedzi, użyj żądania interfejsu API (DigitalTwins GetById) lub wywołania zestawu SDK (GetDigitalTwin), aby uzyskać dane cyfrowego bliźniaka zamiast zapytania.
Uruchom następujące zapytania w interfejsie wiersza polecenia, aby odpowiedzieć na kilka pytań dotyczących przykładowego środowiska. Każde polecenie ma jeden symbol zastępczy dla nazwy hosta instancji (można również użyć przyjaznej nazwy instancji, co spowoduje niewielki spadek wydajności).
Jakie są wszystkie jednostki z mojego środowiska reprezentowane w usłudze Azure Digital Twins? (zapytaj wszystkie)
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DIGITALTWINS"To zapytanie pozwala na szybki przegląd stanu środowiska, aby upewnić się, że wszystkie elementy są reprezentowane zgodnie z Twoimi oczekiwaniami w usłudze Azure Digital Twins. Wynikiem tego zapytania jest rezultat zawierający każdego cyfrowego bliźniaka ze szczegółami. Oto fragment:
Napiwek
Możesz rozpoznać, że to polecenie jest tym samym poleceniem, które zostało użyte we wcześniejszej sekcji Tworzenie cyfrowych reprezentacji bliźniaczych , aby znaleźć wszystkie usługi Azure Digital Twins w wystąpieniu.
Jakie są wszystkie pokoje w moim środowisku? (zapytanie według modelu)
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DIGITALTWINS T WHERE IS_OF_MODEL(T, 'dtmi:example:Room;2')"Zapytanie można ograniczyć do bliźniaków określonego typu, aby uzyskać bardziej szczegółowe informacje o tym, co jest reprezentowane. Wynik tego pokazuje pokój0 i pokój1, ale nie pokazuje floor0 ani floor1 (ponieważ są to podłogi, a nie pokoje).
Jakie są wszystkie pokoje na piętrze0? (zapytanie według relacji)
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT room FROM DIGITALTWINS floor JOIN room RELATED floor.contains where floor.\$dtId = 'floor0'"Możesz wykonywać zapytania na podstawie relacji w grafie, aby uzyskać informacje na temat sposobu, w jaki bliźniaki są połączone, lub ograniczyć zapytanie do określonego obszaru. To zapytanie ilustruje również, że identyfikator bliźniaka (na przykład floor0 w poprzednim zapytaniu) jest odpytywany za pomocą pola
$dtIdmetadanych. Tylko room0 znajduje się na piętrze0, więc jest to jedyny pokój w wyniku dla tego zapytania.Uwaga
W przypadku używania Cloud Shell do uruchamiania zapytania z polami metadanych, takimi jak te, które rozpoczynają się od
$, należy zastosować znak odwrotny ukośnika, aby poinformować Cloud Shell, że nie jest to zmienna i powinna być traktowana jako literał w tekście zapytania. Pole unikniętych metadanych zostało odzwierciedlone na poprzednim zrzucie ekranu.Jakie są wszystkie bliźniaki w moim otoczeniu o temperaturze powyżej 75? (zapytanie na podstawie właściwości)
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DigitalTwins T WHERE T.Temperature > 75"Możesz wykonywać zapytania dotyczące grafu na podstawie właściwości, aby odpowiedzieć na różne rodzaje pytań, w tym znaleźć wartości odstające w środowisku, które mogą wymagać uwagi. Obsługiwane są również inne operatory porównania (<, >=, lub !=). room1 pojawia się w wynikach tutaj, ponieważ ma temperaturę 80.
Jakie są wszystkie pokoje na piętrze0 z temperaturą powyżej 75? (zapytanie złożone)
az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT room FROM DIGITALTWINS floor JOIN room RELATED floor.contains where floor.\$dtId = 'floor0' AND IS_OF_MODEL(room, 'dtmi:example:Room;2') AND room.Temperature > 75"Możesz również połączyć wcześniejsze zapytania, takie jak w języku SQL, przy użyciu operatorów kombinacji, takich jak
AND, ,ORNOT. To zapytanie używaANDdo bardziej szczegółowego określenia poprzedniego zapytania dotyczącego temperatur bliźniaczych. Wynik obejmuje teraz tylko pomieszczenia o temperaturze powyżej 75 stopni, które znajdują się na piętrze 0 — w tym przypadku żadne z nich nie spełnia tego kryterium. Zestaw wyników jest pusty.
Czyszczenie zasobów
Po ukończeniu tego samouczka możesz wybrać zasoby, które chcesz usunąć, w zależności od tego, co chcesz zrobić dalej.
- Jeśli planujesz przejść do następnego samouczka, możesz zachować tutaj skonfigurowane zasoby i ponownie użyć instancji Azure Digital Twins bez czyszczenia czegokolwiek w międzyczasie.
Jeśli chcesz kontynuować korzystanie z wystąpienia usługi Azure Digital Twins z tego artykułu, ale wyczyścić wszystkie jego modele, bliźniaki cyfrowe i relacje, uruchom następujące polecenie CLI: az dt job deletion
az dt job deletion create -n <name-of-Azure-Digital-Twins-instance> -yJeśli chcesz usunąć tylko niektóre z tych elementów, możesz użyć poleceń az dt twin relationship delete, az dt twin delete i az dt model delete, aby selektywnie usunąć elementy, które chcesz usunąć.
Jeśli nie potrzebujesz żadnych zasobów utworzonych w tym samouczku, możesz usunąć wystąpienie usługi Azure Digital Twins i wszystkie inne zasoby z tego samouczka za pomocą polecenia w wierszu poleceń az group delete. Spowoduje to usunięcie wszystkich zasobów platformy Azure w grupie zasobów, a także samej grupy zasobów.
Ważne
Usunięcie grupy zasobów jest nieodwracalne. Grupa zasobów oraz wszystkie zawarte w niej zasoby zostaną trwale usunięte. Uważaj, aby nie usunąć przypadkowo niewłaściwych zasobów lub niewłaściwej grupy zasobów.
Otwórz usługę Azure Cloud Shell lub lokalne okno interfejsu wiersza polecenia, a następnie uruchom następujące polecenie, aby usunąć grupę zasobów i wszystko, co zawiera.
az group delete --name <your-resource-group>
Możesz również usunąć pliki modelu utworzone na komputerze lokalnym.
Następne kroki
W tym samouczku rozpocząłeś pracę z usługą Azure Digital Twins, tworząc graf w swoim wystąpieniu przy użyciu interfejsu wiersza polecenia platformy Azure. Utworzono modele, cyfrowe reprezentacje bliźniacze i relacje w celu utworzenia grafu. Uruchomiono również kilka zapytań na grafie, aby dowiedzieć się, jakiego rodzaju pytania usługa Azure Digital Twins może odpowiedzieć na temat środowiska.
Przejdź do następnego samouczka, aby połączyć usługę Azure Digital Twins z innymi usługami platformy Azure w celu ukończenia scenariusza opartego na danych, kompleksowego: