Aracılığıyla paylaş


Öğretici: Azure CLI kullanarak Azure Digital Twins grafiği oluşturma

Bu öğreticide modelleri, ikizleri ve ilişkileri kullanarak Azure Digital Twins'de bir grafik oluşturacaksınız. Bu öğreticinin aracı, Azure CLI için Azure Digital Twins komut kümesidir.

CLI komutlarını kullanarak modelleri karşıya yükleme, ikiz oluşturma ve değiştirme ve ilişki oluşturma gibi temel Azure Digital Twins eylemlerini gerçekleştirebilirsiniz. Cli komutlarının tamamını görmek için az dt command set başvuru belgelerine de bakabilirsiniz.

Bu eğitim materyalinde,...

  • Bir ortamı modelleme
  • Dijital ikizleri oluşturma
  • Grafik oluşturmak için ilişkiler ekleme
  • Soruları yanıtlamak için grafı sorgulama

Önkoşullar

Bu öğreticideki adımları tamamlamak için önce aşağıdaki önkoşulları tamamlamanız gerekir.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Örnek modelleri indirme

Öğreticide, Azure Digital Twins için C# uçtan uca örnek projesinin parçası olan önceden yazılmış iki model kullanılır. Model dosyaları burada bulunur:

Makinenizdeki dosyaları almak için önceki listede yer alan gezinti bağlantılarını kullanın ve dosya gövdelerini makinenizdeki yerel dosyalara aynı adlarla kopyalayın (Room.json ve Floor.json).

Ortamınızı Azure CLI’ye hazırlama

CLI oturumlarını ayarlama

CLI'da Azure Digital Twins ile çalışmaya başlamak için ilk yapmanız gereken oturum açmak ve cli bağlamını bu oturum için aboneliğinize ayarlamaktır. CLI pencerenizde şu komutları çalıştırın:

az login
az account set --subscription "<your-Azure-subscription-ID>"

İpucu

Önceki komuttaki kimlik yerine abonelik adınızı da kullanabilirsiniz.

Bu aboneliği Azure Digital Twins ile ilk kez kullanıyorsanız, Azure Digital Twins ad alanına kaydolmak için aşağıdaki komutu çalıştırın. (Emin değilseniz, geçmişte bir süre çalıştırmış olsanız bile yeniden çalıştırmanızda problem yok.)

az provider register --namespace 'Microsoft.DigitalTwins'

Ardından Azure Digital Twins ve diğer IoT hizmetleriyle etkileşime yönelik komutları etkinleştirmek üzere Azure CLI için Microsoft Azure IoT Uzantısı'nı ekleyebilirsiniz. Uzantının en son sürümüne sahip olduğunuzdan emin olmak için şu komutu çalıştırın:

az extension add --upgrade --name azure-iot

Artık Azure CLI'da Azure Digital Twins ile çalışmaya hazırsınız.

Kullanılabilir en üst düzey Azure Digital Twins komutlarının listesini görmek için istediğiniz zaman komutunu çalıştırarak az dt --help bu durumu doğrulayabilirsiniz.

Azure Digital Twins örneği hazırlama

Bu makalede Azure Digital Twins ile çalışmak için öncelikle bir Azure Digital Twins örneği ve bunu kullanmak için gerekli izinleri ayarlamanız gerekir. Önceki çalışmadan ayarlanmış bir Azure Digital Twins örneğiniz varsa bu örneği kullanabilirsiniz.

Aksi takdirde, Bir örneği ayarlayın ve kimlik doğrulama yönergelerini izleyin. Yönergeler ayrıca her adımı başarıyla tamamladığınızdan ve yeni örneğinizi kullanmaya hazır olduğunuzdan emin olmak için adımlar içerir.

Azure Digital Twins örneğinizi ayarladıktan sonra örneğe daha sonra bağlanmanız gereken aşağıdaki değerleri not edin:

  • Örneğin ana bilgisayar adı
  • Örneği oluşturmak için kullandığınız Azure aboneliği

İpucu

Örneğinizin kolay adını biliyorsanız, konak adını ve abonelik değerlerini almak için aşağıdaki CLI komutunu kullanabilirsiniz:

az dt show --dt-name <Azure-Digital-Twins-instance-name>

Çıkışta şöyle görünürler: az dt show komutunun çıkışını gösteren Cloud Shell tarayıcı penceresinin ekran görüntüsü. hostName alanı ve abonelik kimliği vurgulanır.

DTDL ile fiziksel ortam modelleme

CLI ve Azure Digital Twins örneği ayarlandıysa artık bir senaryonun grafiğini oluşturmaya başlayabilirsiniz.

Azure Digital Twins çözümü oluşturmanın ilk adımı, ortamınız için ikiz modelleri tanımlamaktır.

Modeller nesne odaklı programlama dillerindeki sınıflara benzer; dijital ikizlerin daha sonra takip edip örnek oluşturması için kullanıcı tanımlı şablonlar sağlar. Bunlar Digital Twins Tanım Dili (DTDL) adlı JSON benzeri bir dilde yazılır ve ikizin özelliklerini, ilişkilerini ve bileşenlerini tanımlayabilir.

Not

DTDL ayrıca dijital ikizlerde komutların tanımlanmasını sağlar. Ancak komutlar şu anda Azure Digital Twins hizmetinde desteklenmemekte.

Makinenizde Önkoşullar bölümünde oluşturduğunuz Room.json dosyasına gidin. Kod düzenleyicisinde açın ve aşağıdaki yollarla değiştirin:

  1. Bu modelin daha güncelleştirilmiş bir sürümünü sağladığınızı belirtmek için sürüm numarasını güncelleştirin. Değerin sonundaki @id değerini 2 olarak değiştirerek bunu yapın. Geçerli sürüm numarasından daha büyük herhangi bir sayı da çalışır.

  2. Bir mülkü düzenleyin. Özelliğin Humidityadını HumidityLevel (veya isterseniz farklı bir şey) olarak değiştirin. HumidityLevel'den farklı bir şey kullanıyorsanız, ne kullandığınızı unutmayın ve öğretici boyunca HumidityLevel yerine bunu kullanmaya devam edin).

  3. Özellik ekleyin. HumidityLevel 15. satırda biten özelliğin altına aşağıdaki kodu yapıştırarak odaya bir RoomName özellik ekleyin:

    ,{
      "@type": "Property",
      "name": "RoomName",
      "schema": "string"
    }
    
  4. İlişki ekle. Yeni eklediğiniz özelliğin RoomName altına aşağıdaki kodu yapıştırarak bu tür ikizlerin diğer ikizlerle ilişki oluşturma contains yeteneğini ekleyin:

    ,{
      "@type": "Relationship",
      "name": "contains"
    }
    

İşiniz bittiğinde, güncelleştirilmiş model aşağıdakiyle eşleşmelidir:

{
    "@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"
  }

Devam etmeden önce dosyayı kaydettiğinizden emin olun.

Modelleri Azure Digital Twins'e yükleme

Modelleri tasarladıktan sonra Azure Digital Twins örneğine yüklemeniz gerekir. Bunu yaptığınızda Azure Digital Twins hizmet örneğinizi kendi özel etki alanı sözlüğünüzle yapılandırabilirsiniz. Modelleri karşıya yükledikten sonra, bunları kullanan ikiz örnekleri oluşturabilirsiniz.

  1. Azure CLI'nın yerel yüklemesini kullanıyorsanız bu adımı atlayabilirsiniz. Cloud Shell kullanıyorsanız, model dosyalarınızı Cloud Shell'in depolama alanına yüklemeniz gerekir; böylece bunları kullanan Cloud Shell komutunu çalıştırdığınızda dosyalar kullanılabilir olur. Dosyaları Yönet'i ve ardından Karşıya Yükle'yi seçin.

    Karşıya Yükle simgesinin seçimini gösteren Cloud Shell tarayıcı penceresinin ekran görüntüsü.

    Makinenizdeki Room.json dosyasına gidin ve "Aç"ı seçin. Ardından Floor.json için bu adımı yineleyin.

  2. Ardından, güncelleştirilmiş Oda modelinizi Azure Digital Twins örneğine yüklemek için aşağıdaki örnekte gösterildiği gibi az dt model create komutunu kullanın. İkinci komut, farklı ikiz türleri oluşturmak için sonraki bölümde de kullanacağınız Floor adlı başka bir modeli karşıya yükler. Örneğin konak adı için bir yer tutucu (örneğin kullanıcı dostu adını kullanarak, performansta hafif bir düşüş olabilir) ve her model dosyasının yolu için bir yer tutucu vardır. Cloud Shell kullanıyorsanız ,Room.json ve Floor.json ana depolama dizinindedir, bu nedenle dosya adlarını doğrudan bir yolun gerekli olduğu aşağıdaki komutlarda kullanabilirsiniz.

    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>
    

    Her komutun çıkışı, başarıyla yüklenmiş olan model hakkındaki bilgileri gösterir.

    İpucu

    Ayrıca model oluşturma komutunun --from-directory seçeneğini kullanarak bir dizindeki tüm modelleri aynı anda karşıya yükleyebilirsiniz. Daha fazla bilgi için az dt model create için isteğe bağlı parametreler bölümüne bakın.

  3. Modellerin aşağıdaki örnekte gösterildiği gibi az dt model list komutuyla oluşturulduğunu doğrulayın. Bunu yaptığınızda, Azure Digital Twins örneğine yüklenen tüm modellerin tam bilgileriyle birlikte bir listesi yazdırılır. Örnek için ana bilgisayar adı için bir yer tutucu vardır (performansta küçük bir düşüşle örneğin kullanıcı dostu adını da kullanabilirsiniz).

    az dt model list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --definition
    

    Sonuçlarda düzenlenmiş Oda modelini arayın:

    Güncelleştirilmiş Oda modelini içeren model listesi komutunun sonucunu gösteren Cloud Shell'in ekran görüntüsü.

Hatalar

CLI, hizmetten gelen hataları da işler.

Yüklediğiniz modellerden birini ikinci kez yeniden yüklemeyi denemek için komutunu yeniden çalıştırın az dt model create :

az dt model create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --models Room.json

Modellerin üzerine yazılamadığından, aynı modelde bu komutu çalıştırmak artık hata kodu ModelIdAlreadyExistsdöndürür.

Dijital ikizleri oluşturma

Artık bazı modeller Azure Digital Twins örneğinize yüklendiğine göre, model tanımlarını temel alarak dijital ikizler oluşturabilirsiniz. Dijital ikizler, iş ortamınızdaki varlıkları (bir çiftlikteki algılayıcılar, bir binadaki odalar veya bir arabadaki ışıklar gibi) temsil eder.

Dijital ikiz oluşturmak için az dt twin create komutunu kullanırsınız. İkizi temel alan modele başvurmanız gerekir ve isteğe bağlı olarak modeldeki herhangi bir özellik için başlangıç değerleri tanımlayabilirsiniz. Bu aşamada herhangi bir ilişki bilgisi vermeniz gerekmez.

  1. Cli'de bu kodu çalıştırarak daha önce güncelleştirdiğiniz Oda modeline ve başka bir model olan Floor'a göre birkaç ikiz oluşturun. Room'un üç özelliği olduğunu hatırlayın, bu nedenle bu özellikler için ilk değerleri içeren bağımsız değişkenler sağlayabilirsiniz. (Özellik değerlerinin başlatılması genel olarak isteğe bağlıdır, ancak bu öğretici için gereklidir.) Örnek için bir ana bilgisayar adı yer tutucusu vardır (kullanıcı dostu adını da performansta küçük bir düşüşle kullanabilirsiniz).

    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 floor1
    

    Not

    Bash ortamında Cloud Shell dışında bir şey kullanıyorsanız, doğru ayrıştırması için satır içi JSON'daki belirli karakterlerden kurtulmanız gerekebilir.

    Daha fazla bilgi için bkz. Farklı kabuklarda özel karakterler kullanma.

    Her komutun çıktısı, başarıyla oluşturulan ikiz (onlarla başlatılan oda ikizlerinin özellikleri dahil) hakkındaki bilgileri gösterir.

  2. İkizlerin az dt twin query komutuyla oluşturulduğunu aşağıdaki örnekte gösterildiği gibi doğrulayabilirsiniz. Gösterilen sorgu, Azure Digital Twins örneğinizdeki tüm dijital ikizleri bulur. Örnek için ana bilgisayar adı için bir yer tutucu vardır (performansta küçük bir düşüşle örneğin kullanıcı dostu adını da kullanabilirsiniz).

    az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DIGITALTWINS"
    

    Sonuçlarda oda0, oda1, kat0 ve kat1 ikizlerini arayın. Burada, bu sorgunun sonucunun bir kısmını gösteren bir alıntı yer alır.

    room0 ve room1 dahil olmak üzere ikiz sorgusunun kısmi sonucunu gösteren Cloud Shell'in ekran görüntüsü.

Not

Grafiğinizdeki verilerde değişiklik yaptıktan sonra değişikliklerin sorgulara yansıtılması için 10 saniyeye kadar gecikme süresi olabilir.

DigitalTwins API'sinde değişiklikler hemen yansıtılır. Bu nedenle anlık yanıta ihtiyacınız varsa sorgu yerine ikizi veri almak için API isteği (DigitalTwins GetById) veya SDK çağrısı (GetDigitalTwin) kullanın.

Dijital ikizi değiştirme

Oluşturduğunuz ikizin özelliklerini de değiştirebilirsiniz.

  1. Room0'un RoomName değerini Room0'tan PresidentialSuite'e değiştirmek için aşağıdaki az dt twin update komutunu çalıştırın. Örnek için ana bilgisayar adı için bir yer tutucu vardır (performansta küçük bir düşüşle örneğin kullanıcı dostu adını da kullanabilirsiniz).

    az dt twin update --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room0 --json-patch '{"op":"add", "path":"/RoomName", "value": "PresidentialSuite"}'
    

    Not

    Bu öğretici için Bash ortamında CLI kullanmanızı öneririz. PowerShell ortamını kullanıyorsanız JSON değerinin doğru ayrıştırılması için --json-patch tırnak işareti karakterlerinden kurtulmanız gerekebilir.

    Bu komutun çıktısı ikizin mevcut bilgilerini gösterir ve sonuçta RoomName için yeni değeri görmelisiniz.

    Bir RoomName of PresidentialSuite içeren güncelleştirme komutunun sonucunu gösteren Cloud Shell'in ekran görüntüsü.

  2. Room0'un bilgilerini görmek için az dt twin show komutunu çalıştırarak güncelleştirmenin başarılı olduğunu doğrulayabilirsiniz. Örnek için ana bilgisayar adı için bir yer tutucu vardır (performansta küçük bir düşüşle örneğin kullanıcı dostu adını da kullanabilirsiniz).

    az dt twin show --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room0
    

    Çıktı güncelleştirilmiş adı yansıtmalıdır.

İlişkiler ekleyerek grafik oluşturma

Ardından, bu ikizleri bir ikiz grafiği oluşturmak için birbirine bağlayan bazı ilişkiler oluşturabilirsiniz. İkiz grafikler ortamın tamamını temsil etmek için kullanılır.

Bir ikizden diğerine oluşturabileceğiniz ilişki türleri, daha önce karşıya yüklediğiniz modellerde tanımlanır. Floor için model tanımı, zeminlerin adlı containsbir ilişki türüne sahip olabileceğini belirtir. Model tanımı bu ilişkiyi belirttiğinden, her Kat ikizinden içerdiği ilgili odaya bir contains-tipi ilişki oluşturmak mümkündür.

İlişki eklemek için az dt twin relationship create komutunu kullanın. İlişkinin geldiği ikizi, ilişkinin türünü ve ilişkinin bağlandığı ikizi belirtin. Son olarak, ilişkiye benzersiz bir kimlik verin. Bir ilişkinin özellikleri olacak şekilde tanımlanmışsa, bu komutta da ilişki özelliklerini başlatabilirsiniz.

  1. Önceden oluşturduğunuz Floor ikizlerinden her birine karşılık gelen Room ikizine contains-tipi ilişki eklemek için aşağıdaki kodu çalıştırın. İlişkiler relationship0 ve relationship1 olarak adlandırılır. Örnek için ana bilgisayar adı için bir yer tutucu vardır (performansta küçük bir düşüşle örneğin kullanıcı dostu adını da kullanabilirsiniz).

    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 room1
    

    İpucu

    contains Floor modelindeki ilişki iki özellik ve ownershipUserile de tanımlanmıştır. Bu nedenle, ownershipDepartment ilişkileri oluştururken bu özellikler için ilk değerleri içeren bağımsız değişkenler de sağlayabilirsiniz. Bu özellikler başlatılmış olarak bir ilişki oluşturmak için, yukarıdaki komutlardan birine --properties seçeneğini ekleyin:

    ... --properties '{"ownershipUser":"MyUser", "ownershipDepartment":"MyDepartment"}'
    

    Her komutun çıktısı, başarıyla oluşturulan ilişki hakkındaki bilgileri gösterir.

  2. aşağıdaki komutlardan herhangi biriyle ilişkileri doğrulayabilirsiniz. Bu komut, Azure Digital Twins örneğinizdeki ilişkileri yazdırır. Her bir komut, örneğin ana bilgisayar adı için bir yer tutucu içerir (aynı zamanda performansta hafif bir düşüşle örneğin kullanıcı dostu adını da kullanabilirsiniz).

    • Her kattan çıkan tüm ilişkileri görmek için (ilişkileri bir taraftan görüntüleme):
      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
      
    • Her odaya gelen tüm ilişkileri görmek için (ilişkiyi "diğer" taraftan görüntüleme):
      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
      
    • Bu ilişkileri kimliklerine göre ayrı ayrı aramak için:
      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
      

Bu öğreticide ayarladığınız ikizler ve ilişkiler aşağıdaki kavramsal grafiği oluşturur:

Kavramsal bir grafiği gösteren bir diyagram. floor0, relationship0 aracılığıyla room0'a bağlıdır, ve floor1, relationship1 aracılığıyla room1'e bağlıdır.

Ortam sorularını yanıtlamak için ikiz grafını sorgulama

Azure Digital Twins'in temel özelliklerinden biri, ortamınızla ilgili soruları yanıtlamak için ikiz grafınızı kolayca ve verimli bir şekilde sorgulama olanağıdır. Azure CLI'da az dt twin query komutuyla sorgulama yapılır.

Not

Grafiğinizdeki verilerde değişiklik yaptıktan sonra değişikliklerin sorgulara yansıtılması için 10 saniyeye kadar gecikme süresi olabilir.

DigitalTwins API'sinde değişiklikler hemen yansıtılır. Bu nedenle anlık yanıta ihtiyacınız varsa sorgu yerine ikizi veri almak için API isteği (DigitalTwins GetById) veya SDK çağrısı (GetDigitalTwin) kullanın.

Örnek ortamla ilgili bazı soruları yanıtlamak için CLI'da aşağıdaki sorguları çalıştırın. Her bir komut, örneğin ana bilgisayar adı için bir yer tutucu içerir (aynı zamanda performansta hafif bir düşüşle örneğin kullanıcı dostu adını da kullanabilirsiniz).

  1. Ortamımdaki hangi varlıklar Azure Digital Twins'de temsil ediliyor? (tümünü sorgula)

    az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DIGITALTWINS"
    

    Bu sorgu, ortamınızı bir bakışta değerlendirebilmenizi ve her şeyin Azure Digital Twins'te istediğiniz gibi temsil edildiğinden emin olmanızı sağlar. Bu sorgunun sonucu, her dijital ikizin ayrıntılarını içeren bir çıkıştır. İşte bir alıntı:

    room0 ve room1 dahil olmak üzere ikiz sorgusunun kısmi sonucunu gösteren Cloud Shell'in ekran görüntüsü.

    İpucu

    Bu komutun, örnekteki tüm Azure Digital Twins'i bulmak için daha önce Dijital ikiz oluşturma bölümünde kullandığınız komutla aynı olduğunu fark edebilirsiniz.

  2. Ortamımdaki tüm odalar nelerdir? (modele göre sorgu)

    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')"
    

    Temsil edilenler hakkında daha ayrıntılı bilgi almak için sorgunuzu belirli bir tür ikizle kısıtlayabilirsiniz. Bunun sonucunda room0 ve room1 gösterilir, ancak floor0 veya floor1 gösterilmez (çünkü bunlar odalar değil, zeminlerdir).

    Yalnızca room0 ve room1 içeren model sorgusunun sonucunu gösteren Cloud Shell'in ekran görüntüsü.

  3. Kat0'taki tüm odalar nelerdir? (ilişkiye göre sorgula)

    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'"
    

    İkizlerin nasıl bağlandığı hakkında bilgi almak veya sorgunuzu belirli bir alanla kısıtlamak için grafiğinizdeki ilişkileri temel alarak sorgulayabilirsiniz. Bu sorgu ayrıca bir ikizin kimliğinin (önceki sorgudaki floor0 gibi) meta veri alanı $dtIdkullanılarak sorgulandığını gösterir. Sadece room0 floor0'da yer aldığından, bu sorgunun sonucunda tek oda olarak karşımıza çıkar.

    Room0 içeren ilişki sorgusunun sonucunu gösteren Cloud Shell'in ekran görüntüsü.

    Not

    Meta veri alanları $ ile başlayan, bu gibi bir sorguyu çalıştırırken Cloud Shell'i kullanıyorsanız, Cloud Shell'e bunun bir değişken olmadığını ve sorgu metninde sabit bir değer olarak alınması gerektiğini belirtmek için $ karakterini ters eğik çizgiyle kaçmalısınız. Kaçmış meta veri alanı önceki ekran görüntüsüne yansıtılır.

  4. Ortamımdaki sıcaklığı 75'in üzerinde olan tüm ikizler nelerdir? (özelliğe göre sorgula)

    az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DigitalTwins T WHERE T.Temperature > 75"
    

    Ortamınızda dikkat gerektiren aykırı değerleri bulmak da dahil olmak üzere farklı soru türlerini yanıtlamak için grafı özelliklere göre sorgulayabilirsiniz. Diğer karşılaştırma işleçleri de (<,>, =, veya !=) desteklenir. room1 burada sonuçlarda görünür, çünkü sıcaklığı 80'tir.

    Yalnızca room1 içeren özellik sorgusunun sonucunu gösteren Cloud Shell'in ekran görüntüsü.

  5. Sıcaklığı 75'in üzerinde olan floor0'da tüm odalar nelerdir? (bileşik sorgu)

    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"
    

    Ayrıca, , AND, ORgibi birleşim işleçlerini kullanarak SQL'de yaptığınız gibi NOTönceki sorguları birleştirebilirsiniz. Bu sorgu, ikiz sıcaklıklarıyla ilgili önceki sorguyu daha belirgin hale getirmek için kullanır AND . Sonuç artık yalnızca 75'in üzerinde sıcaklıkları olan ve kat0'da olan odaları içerir — bu durumda, hiçbiri. Sonuç kümesi boş.

    Hiçbir öğe içermeyen bileşik sorgunun sonucunu gösteren Cloud Shell'in ekran görüntüsü.

Kaynakları temizleme

Bu öğreticiyi tamamladıktan sonra, bundan sonra ne yapmak istediğinize bağlı olarak hangi kaynakları kaldırmak istediğinizi seçebilirsiniz.

  • Bir sonraki öğreticiye geçmeyi planlıyorsanız, burada kurduğunuz kaynakları saklayabilir ve Azure Digital Twins örneğini arada herhangi bir temizleme yapmadan tekrar kullanabilirsiniz.
  • Bu makaledeki Azure Digital Twins örneğini kullanmaya devam etmek, ancak tüm modellerini, ikizlerini ve ilişkilerini temizlemek istiyorsanız aşağıdaki az dt job delete CLI komutunu çalıştırın:

    az dt job deletion create -n <name-of-Azure-Digital-Twins-instance> -y
    

    Bu öğelerden yalnızca bazılarını silmek istiyorsanız, yalnızca kaldırmak istediğiniz öğeleri seçici bir şekilde silmek için az dt twin relationship delete, az dt twin delete ve az dt model delete komutlarını kullanabilirsiniz.

  • Bu Azure öğreticisinde oluşturduğunuz kaynakların herhangi birine ihtiyacınız yoksa, az group delete CLI komutuyla Azure Digital Twins örneğini ve makaledeki diğer tüm kaynakları silebilirsiniz. Bu işlem, kaynak grubundaki tüm Azure kaynaklarının yanı sıra kaynak grubunun kendisini de siler.

    Önemli

    Silinen kaynak grupları geri alınamaz. Kaynak grubu ve içindeki tüm kaynaklar kalıcı olarak silinir. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun.

    Azure Cloud Shell'i veya yerel cli penceresini açın ve kaynak grubunu ve içerdiği her şeyi silmek için aşağıdaki komutu çalıştırın.

    az group delete --name <your-resource-group>
    

Yerel makinenizde oluşturduğunuz model dosyalarını da silmek isteyebilirsiniz.

Sonraki adımlar

Bu öğreticide, Azure CLI kullanarak örneğinizde bir grafik oluşturarak Azure Digital Twins'i kullanmaya başladınız. Graf oluşturmak için modeller, dijital ikizler ve ilişkiler oluşturdunuz. Ayrıca, Azure Digital Twins'in bir ortam hakkında ne tür sorulara yanıt verebileceği hakkında fikir edinmek için grafikte bazı sorgular çalıştırmıştınız.

Veri odaklı, uçtan uca bir senaryoyu tamamlamak için Azure Digital Twins'i diğer Azure hizmetleriyle birleştirmek için sonraki öğreticiye geçin: