Öğretici: Azure dijital TWINS API 'Leri ile kodlama
Azure dijital TWINS ile çalışan geliştiriciler, Azure dijital TWINS hizmeti örneğiyle etkileşim kurmak için yaygın olarak istemci uygulamaları yazar. Bu geliştirici odaklı öğreticide, .net Için Azure dijital TWINS SDK 'sını (C#)kullanarak Azure dijital TWINS hizmetinde programlamaya yönelik bir giriş sunulmaktadır. Bir C# Konsolu istemci uygulaması adımını sıfırdan başlayarak adım adım yazma konusunda size kılavuzluk eder.
- Projeyi ayarla
- Proje kodu ile çalışmaya başlama
- Kod örneğini doldurun
- Kaynakları temizleme
- Sonraki adımlar
Önkoşullar
Bu Azure dijital TWINS öğreticisi, kurulum ve proje çalışması için komut satırını kullanır. Bu nedenle, alýþtýrmalar üzerinde gezinmek için herhangi bir kod düzenleyicisini kullanabilirsiniz.
Başlamak için gerekenler:
- Herhangi bir kod Düzenleyicisi
- Geliştirme makinenizde .NET Core 3,1 . Birden çok platform için .NET Core SDK bu sürümünü .NET Core 3,1' i indirin.
Azure dijital TWINS örneği hazırlama
Bu makalede Azure Digital TWINS ile çalışmak için önce bir Azure dijital TWINS örneği ayarlamanız gerekir. Ayrıca, kullanmak için gerekli izinlere de ihtiyacınız vardır. Zaten ayarlanmış bir Azure dijital TWINS örneğiniz varsa, bunun yerine kullanabilirsiniz.
Aksi takdirde, örnek ayarlama ve kimlik doğrulamabölümündeki yönergeleri izleyin. Yönergeler, her adımı başarıyla tamamladığınızı doğrulamanıza yardımcı olacak bilgiler içerir.
Örneğinizi ayarladıktan sonra, aşağıdaki değerleri unutmayın. Örneğe daha sonra bağlanmak için bu değerlere ihtiyacınız olacak:
- Örneğin ana bilgisayar adı. Ana bilgisayar adını Azure Portal bulabilirsiniz.
- Örneği oluşturmak için kullandığınız Azure aboneliği . Adı veya KIMLIĞI çalışır durumda. Aboneliğinizi, Azure Portalörneğinizin genel bakış sayfasında bulabilirsiniz.
Yerel Azure kimlik bilgilerini ayarlama
Bu örnek Azure.Identity , yerel makinenizde çalıştırdığınızda Azure dijital TWINS örneğiyle kullanıcıların kimliğini doğrulamak için DefaultAzureCredential (kitaplığın parçası) kullanır. İstemci uygulamasının Azure dijital TWINS ile kimlik doğrulaması yapabilme yolları hakkında daha fazla bilgi için bkz. uygulama kimlik doğrulama kodu yazma.
İle DefaultAzureCredential , örnek, yerel ortamınızda, yerel bir Azure CLI veya Visual Studio ya da Visual Studio Code bir Azure oturum açma gibi kimlik bilgilerini arar. Bu nedenle, örnek için kimlik bilgilerini ayarlamak üzere bu mekanizmalardan biri aracılığıyla yerel olarak Azure 'da oturum açmanız gerekir.
Kod örneğini çalıştırmak için Visual Studio 'Yu veya Visual Studio Code kullanıyorsanız, Bu düzenleyicide Azure dijital TWINS örneğinize erişmek için kullanmak istediğiniz Azure kimlik bilgileriyle oturum açtığınızdan emin olun.
Aksi takdirde, Yerel Azure CLI 'yı yükleyebilir, makinenizde bir komut istemi başlatabilir ve az login Azure hesabınızda oturum açmak için komutunu çalıştırabilirsiniz. Oturum açtıktan sonra, kod örneğinizi çalıştırdığınızda otomatik olarak oturumunuzu açmanız gerekir.
Projeyi ayarla
Azure dijital TWINS örneğiniz ile çalışmaya hazırsanız, istemci uygulama projesini ayarlamaya başlayın.
Makinenizde bir komut istemi veya başka bir konsol penceresi açın ve bu öğreticide işlerinizi depolamak istediğiniz boş bir proje dizini oluşturun. Dizine istediğiniz her şeyi adlandırın (örneğin, Digitaltwınscodeöğreticisi).
Yeni dizine gidin.
Proje dizininde bir kez, boş bir .NET konsol uygulaması projesi oluşturun. Komut penceresinde, konsol için en az C# projesi oluşturmak üzere aşağıdaki komutu çalıştırabilirsiniz:
dotnet new console
Bu komut, dizininizin içinde, kodunuzun büyük bir kısmını yazacağınız program. cs adlı birkaç dosya oluşturur.
Öğreticinin tamamında kullanmaya devam edebileceksiniz, komut penceresini açık tutun.
Ardından, projenize Azure dijital TWINS ile çalışmak için gerekli olacak iki bağımlılık ekleyin . Birincisi .net Için Azure Digital TWINS SDK 'sınınpaketidir, Ikincisi ise Azure 'da kimlik doğrulamaya yardımcı olacak araçlar sağlar.
dotnet add package Azure.DigitalTwins.Core
dotnet add package Azure.Identity
Proje kodu ile çalışmaya başlama
Bu bölümde, Azure dijital TWINS ile çalışmak üzere yeni uygulama projeniz için kod yazmaya başlayacaksınız. Kapsanan eylemler şunları içerir:
- Hizmette kimlik doğrulaması yapılıyor
- Model karşıya yükleme
- Yakalama hataları
- Dijital TWINS oluşturma
- İlişki oluşturma
- Dijital TWINS sorgulama
Ayrıca öğreticinin sonundaki kodun tamamını gösteren bir bölüm de vardır. Bu bölümü, programınızı hareket halindeyken denetlemek için bir başvuru olarak kullanabilirsiniz.
Başlamak için, herhangi bir kod düzenleyicisinde program. cs dosyasını açın. Aşağıdakine benzer bir küçük kod şablonu görürsünüz:
İlk olarak, using gerekli bağımlılıkları çekmek için kodun üst kısmına bazı satırlar ekleyin.
using Azure.DigitalTwins.Core;
using Azure.Identity;
Daha sonra, bazı işlevleri doldurmanız için bu dosyaya kod ekleyeceksiniz.
Hizmette kimlik doğrulama
Uygulamanızın yapması gereken ilk şey, Azure dijital TWINS hizmetinde kimlik doğrulaması gerçekleştirir. Ardından, SDK işlevlerine erişmek için bir hizmet istemci sınıfı oluşturabilirsiniz.
Kimlik doğrulaması yapmak için, Azure dijital TWINS örneğinizin ana bilgisayar adına ihtiyacınız vardır.
Program. cs' de, aşağıdaki kodu "Hello, World!" altına yapıştırın yöntemdeki çıktı satırı Main . Değerini adtInstanceUrl Azure Digital TWINS örnek ana bilgisayar adınız olarak ayarlayın.
string adtInstanceUrl = "https://<your-Azure-Digital-Twins-instance-hostName>";
var credential = new DefaultAzureCredential();
var client = new DigitalTwinsClient(new Uri(adtInstanceUrl), credential);
Console.WriteLine($"Service client created – ready to go");
Dosyayı kaydedin.
Komut pencerenizde şu komutla kodu çalıştırın:
dotnet run
Bu komut, ilk çalıştırmada bağımlılıkları geri yükler ve ardından programı yürütür.
- Bir hata oluşursa, program oluşturulan hizmet istemcisini Yazdır-başlamaya hazırlanın.
- Bu projede henüz bir hata işleme olmadığından, herhangi bir sorun oluşursa, kod tarafından oluşturulan bir özel durum görürsünüz.
model Upload
Azure dijital TWINS 'in hiç iç etki alanı sözlüğü yok. Ortamınızdaki Azure dijital TWINS 'de temsil ettiğiniz öğelerin türleri, modeller kullanılarak sizin tarafınızdan tanımlanır. Modeller , nesne odaklı programlama dillerinde sınıflarla benzerdir; Bunlar, daha sonra izlemek ve örneklendirilecek dijital TWINS için Kullanıcı tanımlı şablonlar sağlar. Bunlar, dijital TWINS tanım dili (DTDL) adlı JSON benzeri bir dilde yazılır.
Azure dijital TWINS çözümü oluşturmanın ilk adımı, bir DTDL dosyasında en az bir model tanımlıyor.
Projenizi oluşturduğunuz dizinde Samplemodel. JSON adlı yeni bir. JSON dosyası oluşturun. Aşağıdaki dosya gövdesine yapıştırın:
{
"@id": "dtmi:example:SampleModel;1",
"@type": "Interface",
"displayName": "SampleModel",
"contents": [
{
"@type": "Relationship",
"name": "contains"
},
{
"@type": "Property",
"name": "data",
"schema": "string"
}
],
"@context": "dtmi:dtdl:context;2"
}
İpucu
bu öğretici için Visual Studio kullanıyorsanız, yeni oluşturulan JSON dosyasını seçmek ve özellik denetçisindeki çıkış dizinine kopyala özelliğini, daha yeniyse veya her zaman kopyalamak üzere ayarlamak isteyebilirsiniz. bu, öğreticinin geri kalanı sırasında program ' i F5 ile çalıştırdığınızda varsayılan yol ile JSON dosyasını bulmasını sağlayacak Visual Studio etkinleştirir.
İpucu
DTDL 'nin geçerli olduğundan emin olmak için model belgelerini denetlemek için kullanabileceğiniz dilden bağımsız bir Dtdl doğrulayıcısı örneği vardır. Bu, DTDL ayrıştırıcısı kitaplığı üzerinde oluşturulmuştur ve bu, bunları ayrıştırıp ve doğrulamahakkında daha fazla bilgi edinebilirsiniz.
Daha sonra, oluşturduğunuz modeli Azure dijital TWINS Örneğinizde karşıya yüklemek için program. cs dosyasına daha fazla kod ekleyin.
İlk olarak, using dosyanın en üstüne birkaç deyim ekleyin:
using System.Threading.Tasks;
using System.IO;
using System.Collections.Generic;
using Azure;
Daha sonra, Main yöntem imzasını zaman uyumsuz yürütmeye izin verecek şekilde değiştirerek C# hizmet SDK 'sindeki zaman uyumsuz yöntemleri kullanmaya hazırlanın.
static async Task Main(string[] args)
{
Not
asyncSDK, tüm çağrıların zaman uyumlu sürümlerini de sağladığından, kullanılması kesinlikle gerekli değildir. Bu öğreticiyi kullanma yöntemleri async .
Daha sonra, Azure dijital TWINS hizmetiyle etkileşim kuran kodun ilk biti gelir. Bu kod, diskinizde oluşturduğunuz DTDL dosyasını yükler ve Azure dijital TWINS hizmet örneğinize yükler.
Daha önce eklediğiniz yetkilendirme kodu altına aşağıdaki kodu yapıştırın.
Console.WriteLine();
Console.WriteLine($"Upload a model");
string dtdl = File.ReadAllText("SampleModel.json");
var models = new List<string> { dtdl };
// Upload the model to the service
await client.CreateModelsAsync(models);
Komut pencerenizde, programı şu komutla çalıştırın:
dotnet run
"model Upload", bu koda ulaşıldığını belirten çıktıda yazdırılır, ancak henüz karşıya yüklemenin başarılı olup olmadığını göstermek için çıktı yok.
Örneğe başarıyla yüklenmiş tüm modelleri gösteren bir Print ifadesini eklemek için, önceki bölümden hemen sonra aşağıdaki kodu ekleyin:
// Read a list of models back from the service
AsyncPageable<DigitalTwinsModelData> modelDataList = client.GetModelsAsync();
await foreach (DigitalTwinsModelData md in modelDataList)
{
Console.WriteLine($"Model: {md.Id}");
}
Bu yeni kodu test etmek için programı yeniden çalıştırmadan önce, programı son kez çalıştırdığınızda modelinizi zaten karşıya yüklediğinize geri çekin. Azure dijital TWINS aynı modeli iki kez karşıya yüklemeye izin vermez, bu nedenle aynı modeli yeniden yüklemeye çalışırsanız programın bir özel durum oluşturması gerekir.
Bu bilgiler göz önünde bulundurularak, komut pencerenizde bu komutla programı yeniden çalıştırın:
dotnet run
Program bir özel durum oluşturması gerekir. Zaten karşıya yüklenmiş bir modeli karşıya yüklemeye çalıştığınızda hizmet, REST API aracılığıyla bir "Hatalı istek" hatası döndürür. Sonuç olarak, Azure Digital TWINS istemci SDK 'Sı, başarılı dışında her hizmet dönüş kodu için bir özel durum oluşturur.
Sonraki bölümde, bu gibi özel durumlar ve kodunuzda nasıl ele alınacağını görülüyor.
Hataları yakala
Programın çökmesini önlemek için, model karşıya yükleme kodunun etrafına özel durum kodu ekleyebilirsiniz. Mevcut istemci çağrısını await client.CreateModelsAsync(typeList) bir Try/Catch işleyicisine kaydırın, örneğin:
try
{
await client.CreateModelsAsync(models);
Console.WriteLine("Models uploaded to the instance:");
}
catch (RequestFailedException e)
{
Console.WriteLine($"Upload model error: {e.Status}: {e.Message}");
}
Şimdi komut pencerenizde programını ile çalıştırırsanız dotnet run , bir hata kodu geri almanızı görürsünüz. Model oluşturma kodundaki çıkış şu hatayı gösterir:
Bu noktadan itibaren öğreticide, try/catch işleyicilerindeki hizmet yöntemlerine yapılan tüm çağrılar kaydırılır.
Dijital ikizleri oluşturma
Azure dijital TWINS 'e bir model yüklediğinize göre, bu model tanımını dijital TWINS oluşturmak için kullanabilirsiniz. Dijital TWINS , bir modelin örnekleridir ve iş ortamınızdaki varlıkları, bir gruptaki sensörlerden, binadaki odaların veya bir otomobilde ışıkların bulunduğu şeyleri temsil eder. Bu bölümde, daha önce karşıya yüklediğiniz modele göre birkaç dijital TWINS oluşturulur.
MainBu modele göre üç dijital TWINS oluşturmak ve başlatmak için yönteminin sonuna aşağıdaki kodu ekleyin.
var twinData = new BasicDigitalTwin();
twinData.Metadata.ModelId = "dtmi:example:SampleModel;1";
twinData.Contents.Add("data", $"Hello World!");
string prefix = "sampleTwin-";
for (int i = 0; i < 3; i++)
{
try
{
twinData.Id = $"{prefix}{i}";
await client.CreateOrReplaceDigitalTwinAsync<BasicDigitalTwin>(twinData.Id, twinData);
Console.WriteLine($"Created twin: {twinData.Id}");
}
catch(RequestFailedException e)
{
Console.WriteLine($"Create twin error: {e.Status}: {e.Message}");
}
}
Komut pencerenize ile programı dotnet run çalıştırın. Çıktıda sampleTwin-0, sampleTwin-1 ve sampleTwin-2'nin oluşturduğu yazdırma iletilerinin ne olduğunu kontrol alın.
Ardından programı yeniden çalıştırın.
İlk çalıştırmadan sonra ikizler zaten mevcut olsa bile, ikizler ikinci kez oluşturulduğunda hiçbir hata oluşturulmaz. Model oluşturmanın aksine, ikiz oluşturma REST düzeyinde upsert semantiğine sahip bir PUT çağrısıdır. Bu tür bir REST çağrısının kullanımı, bir ikiz zaten varsa aynı ikizi yeniden oluşturma girişiminin yalnızca özgün ikizin yerini alalade olduğu anlamına gelir. Hata yok.
İlişki oluşturma
Ardından, oluşturduğunuz ikizler arasında ilişkiler oluşturabilir ve bunları bir ikiz grafı içine bağlayabilirsiniz. İkiz graflar ortamınızı temsil etmek için kullanılır.
yönteminin altına sınıfına yeni Program bir statik yöntem ekleyin Main (kodda artık iki yöntem vardır):
public async static Task CreateRelationshipAsync(DigitalTwinsClient client, string srcId, string targetId)
{
var relationship = new BasicRelationship
{
TargetId = targetId,
Name = "contains"
};
try
{
string relId = $"{srcId}-contains->{targetId}";
await client.CreateOrReplaceRelationshipAsync(srcId, relId, relationship);
Console.WriteLine("Created relationship successfully");
}
catch (RequestFailedException e)
{
Console.WriteLine($"Create relationship error: {e.Status}: {e.Message}");
}
}
Ardından yöntemini çağırarak ve az önce yazdığını kodu Main kullanmak CreateRelationship için yönteminin sonuna aşağıdaki kodu ekleyin:
// Connect the twins with relationships
await CreateRelationshipAsync(client, "sampleTwin-0", "sampleTwin-1");
await CreateRelationshipAsync(client, "sampleTwin-0", "sampleTwin-2");
Komut pencerenize ile programı dotnet run çalıştırın. Çıkışta, iki ilişkinin başarıyla oluşturulmuş olduğunu söyleyen print deyimlerini bakın.
Azure Digital Twins aynı kimlikle başka bir ilişki zaten varsa ilişki oluşturmanıza izin vermeyer. Bu nedenle programı birden çok kez çalıştırsanız ilişki oluşturma sırasında özel durumlar ile karşınız olur. Bu kod özel durumları yakalar ve yoksayar.
İlişkileri listele
Ekley kodunuz, oluşturduğunuz ilişkilerin listesini görmenize olanak sağlar.
Sınıfına aşağıdaki yeni yöntemi Program ekleyin:
public async static Task ListRelationshipsAsync(DigitalTwinsClient client, string srcId)
{
try
{
AsyncPageable<BasicRelationship> results = client.GetRelationshipsAsync<BasicRelationship>(srcId);
Console.WriteLine($"Twin {srcId} is connected to:");
await foreach (BasicRelationship rel in results)
{
Console.WriteLine($" -{rel.Name}->{rel.TargetId}");
}
}
catch (RequestFailedException e)
{
Console.WriteLine($"Relationship retrieval error: {e.Status}: {e.Message}");
}
}
Ardından, kodu çağıran yönteminin sonuna Main aşağıdaki kodu ListRelationships ekleyin:
//List the relationships
await ListRelationshipsAsync(client, "sampleTwin-0");
Komut pencerenize ile programı dotnet run çalıştırın. Oluşturduğunuz tüm ilişkilerin listesini aşağıdaki gibi görünen bir çıkış deyiminde görüyor gerekir:
Dijital ikizleri sorgulama
Bu özelliğin Azure Digital Twins, ortamınız hakkında soruları yanıtlamak için ikiz grafını kolayca ve verimli bir şekilde sorgulayabilme özelliğidir.
Bu öğreticide eklemek için kodun son bölümü, Azure Digital Twins çalıştırır. Bu örnekte kullanılan sorgu, örnekteki tüm dijital ikizleri döndürür.
Dijital ikiz using bilgilerini sunmanıza yardımcı JsonSerializer olmak üzere sınıfının kullanımını etkinleştirmek için bu deyimi ekleyin:
using System.Text.Json;
Ardından, yönteminin sonuna aşağıdaki kodu Main ekleyin:
// Run a query for all twins
string query = "SELECT * FROM digitaltwins";
AsyncPageable<BasicDigitalTwin> queryResult = client.QueryAsync<BasicDigitalTwin>(query);
await foreach (BasicDigitalTwin twin in queryResult)
{
Console.WriteLine(JsonSerializer.Serialize(twin));
Console.WriteLine("---------------");
}
Komut pencerenize ile programı dotnet run çalıştırın. Çıktıda bu örnekteki tüm dijital ikizleri görüyoruz.
Not
Grafınıza verilerde değişiklik olduktan sonra, değişiklikler sorgulara yansıtılamadan önce 10 saniyeye kadar bir gecikme olabilir.
DigitalTwins API'si değişiklikleri hemen yansıtıyor, bu nedenle anında yanıta ihtiyacınız varsa bir API isteği (DigitalTwins GetById) veya SDK çağrısı (GetDigitalTwin) kullanarak sorgu yerine ikiz verilerini edinin.
Tam kod örneği
Öğreticinin bu noktasında, uygulama üzerinde temel eylemler gerçekleştirecek eksiksiz bir istemci Azure Digital Twins. Başvuru için Program.cs'de programın tam kodu aşağıda listelenmiştir:
using System;
// <Azure_Digital_Twins_dependencies>
using Azure.DigitalTwins.Core;
using Azure.Identity;
// </Azure_Digital_Twins_dependencies>
// <Model_dependencies>
using System.Threading.Tasks;
using System.IO;
using System.Collections.Generic;
using Azure;
// </Model_dependencies>
// <Query_dependencies>
using System.Text.Json;
// </Query_dependencies>
namespace DigitalTwins_Samples
{
class DigitalTwinsClientAppSample
{
// <Async_signature>
static async Task Main(string[] args)
{
// </Async_signature>
Console.WriteLine("Hello World!");
// <Authentication_code>
string adtInstanceUrl = "https://<your-Azure-Digital-Twins-instance-hostName>";
var credential = new DefaultAzureCredential();
var client = new DigitalTwinsClient(new Uri(adtInstanceUrl), credential);
Console.WriteLine($"Service client created – ready to go");
// </Authentication_code>
// <Model_code>
Console.WriteLine();
Console.WriteLine("Upload a model");
string dtdl = File.ReadAllText("SampleModel.json");
var models = new List<string> { dtdl };
// Upload the model to the service
// <Model_try_catch>
try
{
await client.CreateModelsAsync(models);
Console.WriteLine("Models uploaded to the instance:");
}
catch (RequestFailedException e)
{
Console.WriteLine($"Upload model error: {e.Status}: {e.Message}");
}
// </Model_try_catch>
// <Print_model>
// Read a list of models back from the service
AsyncPageable<DigitalTwinsModelData> modelDataList = client.GetModelsAsync();
await foreach (DigitalTwinsModelData md in modelDataList)
{
Console.WriteLine($"Model: {md.Id}");
}
// </Print_model>
// </Model_code>
// <Initialize_twins>
var twinData = new BasicDigitalTwin();
twinData.Metadata.ModelId = "dtmi:example:SampleModel;1";
twinData.Contents.Add("data", $"Hello World!");
string prefix = "sampleTwin-";
for (int i = 0; i < 3; i++)
{
try
{
twinData.Id = $"{prefix}{i}";
await client.CreateOrReplaceDigitalTwinAsync<BasicDigitalTwin>(twinData.Id, twinData);
Console.WriteLine($"Created twin: {twinData.Id}");
}
catch(RequestFailedException e)
{
Console.WriteLine($"Create twin error: {e.Status}: {e.Message}");
}
}
// </Initialize_twins>
// <Use_create_relationship>
// Connect the twins with relationships
await CreateRelationshipAsync(client, "sampleTwin-0", "sampleTwin-1");
await CreateRelationshipAsync(client, "sampleTwin-0", "sampleTwin-2");
// </Use_create_relationship>
// <Use_list_relationships>
//List the relationships
await ListRelationshipsAsync(client, "sampleTwin-0");
// </Use_list_relationships>
// <Query_twins>
// Run a query for all twins
string query = "SELECT * FROM digitaltwins";
AsyncPageable<BasicDigitalTwin> queryResult = client.QueryAsync<BasicDigitalTwin>(query);
await foreach (BasicDigitalTwin twin in queryResult)
{
Console.WriteLine(JsonSerializer.Serialize(twin));
Console.WriteLine("---------------");
}
// </Query_twins>
}
// <Create_relationship>
public async static Task CreateRelationshipAsync(DigitalTwinsClient client, string srcId, string targetId)
{
var relationship = new BasicRelationship
{
TargetId = targetId,
Name = "contains"
};
try
{
string relId = $"{srcId}-contains->{targetId}";
await client.CreateOrReplaceRelationshipAsync(srcId, relId, relationship);
Console.WriteLine("Created relationship successfully");
}
catch (RequestFailedException e)
{
Console.WriteLine($"Create relationship error: {e.Status}: {e.Message}");
}
}
// </Create_relationship>
// <List_relationships>
public async static Task ListRelationshipsAsync(DigitalTwinsClient client, string srcId)
{
try
{
AsyncPageable<BasicRelationship> results = client.GetRelationshipsAsync<BasicRelationship>(srcId);
Console.WriteLine($"Twin {srcId} is connected to:");
await foreach (BasicRelationship rel in results)
{
Console.WriteLine($" -{rel.Name}->{rel.TargetId}");
}
}
catch (RequestFailedException e)
{
Console.WriteLine($"Relationship retrieval error: {e.Status}: {e.Message}");
}
}
// </List_relationships>
}
}
Kaynakları temizleme
Bu öğreticiyi tamamladıktan sonra, ne yapmak istediğinize bağlı olarak kaldırmak istediğiniz kaynakları seçebilirsiniz.
- Sonraki öğreticiye devam etmek planlıyorsanız, bu öğreticide kullanılan örnek bir sonraki öğreticide yeniden kullanılabilir. Burada ayarlayıp Azure Digital Twins kaynakları tutabilirsiniz ve bu bölümün geri kalanını atlayabilirsiniz.
- Bu makalede ayar istediğiniz Azure Digital Twins örneğini kullanmaya devam etmek, ancak modellerinin, ikizlerinin ve ilişkilerinin bir bölümü veya hepsini temizlemek için, kaldırmak istediğiniz öğeleri silmek için bir Azure Cloud Shell penceresinde az dt CLI komutlarını kullanabilirsiniz.
Bu öğreticide oluşturduğunuz kaynaklara ihtiyacınız yoksa az group delete komutuyla Azure Digital Twins örneğini ve diğer tüm kaynakları bu makaleden silebilirsiniz. Bu, kaynak grubunun yanı sıra bir kaynak grubunda yer alan tüm Azure kaynaklarını 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.
komutunu Azure Cloud Shellve 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>
Proje klasörünü yerel makineden de silmek istiyor olabilirsiniz.
Sonraki adımlar
Bu öğreticide, sıfırdan bir .NET konsol istemci uygulaması oluşturdunuz. Bir istemci örneğinde temel eylemleri gerçekleştirmek için bu istemci uygulamasına Azure Digital Twins yazdın.
Böyle bir örnek istemci uygulamasıyla neleri yapsanız da bunları keşfetmek için sonraki öğreticiye devam edin: