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 öğreticide,...

  • 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:

Dosyaları makinenize almak için yukarıdaki 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

  • Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.

  • CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.

    • Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.

    • İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.

    • Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.

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

Yukarıdaki komutta yer alan 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 bu komutu çalıştırın. (Emin değilseniz, geçmişte yapmış olsanız bile yeniden çalıştırmanız sorun değildir.)

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ı ekleyeceksiniz. 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 bunu 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, Örnek ve kimlik doğrulaması ayarlama başlığındaki yönergeleri 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 aşağıdaki gibi 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 şu anda Azure Digital Twins hizmetinde komutlar desteklenmiyor.

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 @id1 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 özelliği 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 ekleme. 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. Bunu yapmak için "Dosyaları karşıya yükle/indir" simgesini ve ardından "Karşıya Yükle" seçeneğini belirleyin.

    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ğıda 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 kolay adını performansta küçük bir düşüşle de kullanabilirsiniz) 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 aşağıdaki yol gereken komutta 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 çıktısı, başarıyla karşıya yüklenen model hakkındaki bilgileri gösterir.

    İpucu

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

  3. Aşağıda gösterildiği gibi az dt model list komutuyla modellerin oluşturulduğunu doğrulayın. Bunu yaptığınızda Azure Digital Twins örneğine yüklenen tüm modellerin tam bilgileriyle birlikte bir liste yazdırılır. Örneğin ana bilgisayar adı için bir yer tutucu vardır (örneğin kolay adını performansta küçük bir düşüşle de 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, bu komutun aynı modelde çalıştırılması artık hata kodu ModelIdAlreadyExistsdöndürecektir.

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 geçirmeniz 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.) Örneğin ana bilgisayar adı için bir yer tutucu vardır (örneğin kolay adını performansta küçük bir düşüşle de 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 şekilde ayrıştırmak 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 çıkışı, başarıyla oluşturulan ikiz (onlarla başlatılan oda ikizlerinin özellikleri dahil) hakkındaki bilgileri gösterir.

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

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

    Sonuçlarda room0, room1, floor0 ve floor1 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 olan RoomSuite olarak değiştirmek için aşağıdaki az dt twin update komutunu çalıştırın. Örneğin ana bilgisayar adı için bir yer tutucu vardır (örneğin kolay adını performansta küçük bir düşüşle de 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 kullanılması önerilir. 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 geçerli bilgilerini gösterir ve sonuçta için RoomName yeni değerini görmeniz gerekir.

    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. Örneğin ana bilgisayar adı için bir yer tutucu vardır (örneğin kolay adını performansta küçük bir düşüşle de 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 ikizler arasında bir ikiz grafiğine bağlamak için 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 Floor ikizinden içerdiği ilgili odaya bir -type ilişkisi oluşturmak containsmü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ığını ikizini 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. Daha önce oluşturduğunuz Floor ikizlerinin her birinden ilgili Oda ikizine -type ilişkisi eklemek containsiçin aşağıdaki kodu çalıştırın. İlişkiler relationship0 ve relationship1 olarak adlandırılır. Örneğin ana bilgisayar adı için bir yer tutucu vardır (örneğin kolay adını performansta küçük bir düşüşle de 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 modelindekiilişki iki özellik ve ownershipDepartmentile de tanımlanmıştır. Bu nedenle, ownershipUser ilişkileri oluştururken bunların ilk değerlerini içeren bağımsız değişkenler de sağlayabilirsiniz. Başlatılan bu özelliklerle bir ilişki oluşturmak için yukarıdaki komutlardan herhangi biri için şu seçeneği ekleyin --properties :

    ... --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 komutun, örneğin ana bilgisayar adı için bir yer tutucusu vardır (örneğin kolay adını performansta küçük bir düşüşle de 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 grafı gösteren diyagram. floor0, relationship0 ile room0 arasında, floor1 ise relationship1 ile room1'e bağlanı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 komutun, örneğin ana bilgisayar adı için bir yer tutucusu vardır (örneğin kolay adını performansta küçük bir düşüşle de kullanabilirsiniz).

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

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

    Bu sorgu, bir bakışta ortamınızın stoklarını almanıza ve her şeyin Azure Digital Twins içinde olmasını istediğiniz şekilde temsil edilmesini 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 (odalar değil, zemin oldukları için).

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

  3. Zemindeki tüm odalar nedir0? (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 meta veri alanı $dtIdkullanılarak bir ikizin kimliğinin (yukarıdaki sorgudaki floor0 gibi) sorgulandığını gösterir. Floor0'da yalnızca room0 vardır, bu nedenle bu sorgunun sonucundaki tek odadır.

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

    Not

    Cloud Shell'i kullanarak ile başlayan $bunun gibi meta veri alanlarıyla sorgu çalıştırırken, Cloud Shell'e değişken olmadığını ve sorgu metninde değişmez değer olarak kullanılması gerektiğini bildirmek için ters eğik çizgiyle kaçış yapmanız gerekir $ . Bu, yukarıdaki 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, , OR, NOTgibi birleşim işleçlerini kullanarak SQL'de yaptığınız gibi ANDö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 0'ın üzerinde olan odaları içerir; bu durumda bunların hiçbiri değildir. 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 devam etmek istiyorsanız, burada ayarladığınız kaynakları tutabilir ve aralarında hiçbir şey temizlemeden Azure Digital Twins örneğini yeniden 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çmeli olarak silmek için az dt twin relationship delete, az dt twin delete ve az dt model delete komutlarını kullanabilirsiniz.

  • Bu öğreticide oluşturduğunuz kaynaklardan herhangi birine ihtiyacınız yoksa az group delete CLI komutuyla Azure Digital Twins örneğini ve diğer tüm kaynakları bu makaleden 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: