.NET SDK'sı ile Azure Cosmos DB Tablo API'si'ni ve Azure Tablo depolama alanını kullanmaya başlamaGet started with Azure Cosmos DB Table API and Azure Table storage using the .NET SDK

Uygulama hedefı: tablo API'si

İpucu

Bu makaledeki içerik, Azure Tablo depolama ve Azure Cosmos DB Tablo API’si için geçerlidir.The content in this article applies to Azure Table storage and the Azure Cosmos DB Table API. Azure Cosmos DB Tablo API’si, aktarım hızı iyileştirilmiş tablolar, global dağıtım ve otomatik ikincil dizinler sunan premium bir tekliftir.The Azure Cosmos DB Table API is a premium offering for table storage that offers throughput-optimized tables, global distribution, and automatic secondary indexes.

Yapılandırılmış NoSQL verilerini bulutta depolamak için Azure Cosmos DB Tablo API'si veya Azure Tablo depolama alanını kullanabilir, böylece şema daha az tasarıma sahip bir anahtar/öznitelik deposu sağlayabilirsiniz.You can use the Azure Cosmos DB Table API or Azure Table storage to store structured NoSQL data in the cloud, providing a key/attribute store with a schema less design. Azure Cosmos DB Tablo API'si ve tablo depolaması şema daha az olduğundan, uygulamanızın ihtiyaçları geliştikçe verilerinizi kolayca uyarlayabilirsiniz.Because Azure Cosmos DB Table API and Table storage are schema less, it's easy to adapt your data as the needs of your application evolve. Web uygulamaları için Kullanıcı verileri, adres defterleri, cihaz bilgileri veya hizmetinizin gerektirdiği diğer meta veri türleri gibi esnek veri kümelerini depolamak için Azure Cosmos DB Tablo API'si veya tablo depolama alanını kullanabilirsiniz.You can use Azure Cosmos DB Table API or the Table storage to store flexible datasets such as user data for web applications, address books, device information, or other types of metadata your service requires.

Bu öğreticide, Azure Cosmos DB Tablo API'si ve Azure Tablo depolama senaryolarıyla .NET için Microsoft Azure Cosmos db tablo kitaplığının nasıl kullanılacağını gösteren bir örnek açıklanmaktadır.This tutorial describes a sample that shows you how to use the Microsoft Azure Cosmos DB Table Library for .NET with Azure Cosmos DB Table API and Azure Table storage scenarios. Azure hizmetine özel bağlantıyı kullanmanız gerekir.You must use the connection specific to the Azure service. Bu senaryolar, tablo oluşturmayı, veri eklemeyi/güncelleştirmeyi, verileri sorgulamayı ve tabloları silmeyi gösteren C# örnekleri kullanılarak araştırılabilir.These scenarios are explored using C# examples that illustrate how to create tables, insert/ update data, query data and delete the tables.

ÖnkoşullarPrerequisites

Bu örneği başarıyla tamamlamak için aşağıdakiler gerekir:You need the following to complete this sample successfully:

Azure Cosmos DB Tablo API’si hesabı oluşturmaCreate an Azure Cosmos DB Table API account

  1. Yeni bir tarayıcı penceresinde Azure portalında oturum açın.In a new browser window, sign in to the Azure portal.

  2. Sol taraftaki menüde kaynak oluştur' u seçin.In the left menu, select Create a resource.

    Azure portalında kaynak oluşturma

  3. Yeni sayfada veritabanları > Azure Cosmos DB' nı seçin.On the New page, select Databases > Azure Cosmos DB.

    Azure portalındaki Veritabanları bölmesi

  4. Azure Cosmos DB hesabı oluştur sayfasında, yeni Azure Cosmos DB hesabının ayarlarını girin.On the Create Azure Cosmos DB Account page, enter the settings for the new Azure Cosmos DB account.

    AyarSetting DeğerValue AçıklamaDescription
    AbonelikSubscription AboneliğinizYour subscription Bu Azure Cosmos DB hesabı için kullanmak istediğiniz Azure aboneliğini seçin.Select the Azure subscription that you want to use for this Azure Cosmos DB account.
    Kaynak GrubuResource Group Yeni, sonra hesap adı oluşturCreate new, then Account Name Yeni oluştur’u seçin.Select Create new. Ardından, hesabınız için yeni bir kaynak grubu adı girin.Then enter a new resource group name for your account. Basitlik için Azure Cosmos DB hesap adınızla aynı adı kullanın.For simplicity, use the same name as your Azure Cosmos DB account name.
    Hesap AdıAccount Name Benzersiz bir adA unique name Azure Cosmos DB hesabınızı tanımlayan benzersiz bir ad girin.Enter a unique name to identify your Azure Cosmos DB account.

    Hesap adı yalnızca küçük harf, sayı ve kısa çizgi (-) kullanabilir ve 3 ila 31 karakter uzunluğunda olmalıdır.The account name can use only lowercase letters, numbers, and hyphens (-), and must be between 3 and 31 characters long.
    APIAPI TabloTable API, oluşturulacak hesap türünü belirler.The API determines the type of account to create. Azure Cosmos DB beş API sağlar: belge veritabanları için çekirdek (SQL), grafik veritabanları için Gremlin, belge veritabanları için MongoDB, Azure tablosu ve Cassandra.Azure Cosmos DB provides five APIs: Core (SQL) for document databases, Gremlin for graph databases, MongoDB for document databases, Azure Table, and Cassandra. Her API için ayrı bir hesap oluşturmanız gerekir.You must create a separate account for each API.

    Azure tablosu' nu seçin, çünkü bu hızlı başlangıçta tablo API'si ile birlikte çalışacak bir tablo oluşturuyorsunuz.Select Azure Table, because in this quickstart you are creating a table that works with the Table API.

    Tablo API'si hakkında daha fazla bilgi edinin.Learn more about the Table API.
    KonumLocation Kullanıcılarınıza en yakın bölgeThe region closest to your users Azure Cosmos DB hesabınızın barındırılacağı coğrafi konumu seçin.Select a geographic location to host your Azure Cosmos DB account. Verilere en hızlı erişimi sağlamak için kullanıcılarınıza en yakın olan konumu kullanın.Use the location that's closest to your users to give them the fastest access to the data.
    Kapasite moduCapacity mode Sağlanan aktarım hızı veya sunucusuzProvisioned throughput or Serverless Sağlanan aktarım hızı modunda bir hesap oluşturmak için sağlanan aktarım hızı ' nı seçin.Select Provisioned throughput to create an account in provisioned throughput mode. Sunucusuz modda bir hesap oluşturmak Için sunucusuz ' ı seçin.Select Serverless to create an account in serverless mode.

    Ek ücretlerden kaçınmak için, coğrafi artıklık ve çok bölgeli yazma seçeneklerini devre dışı bırakmak ve ve Etiketler bölümlerini atlamak için kullanabilirsiniz.You can leave the Geo-Redundancy and Multi-region Writes options at Disable to avoid additional charges, and skip the Network and Tags sections.

  5. Gözden geçir + oluştur' u seçin.Select Review+Create. Doğrulama tamamlandıktan sonra, hesabı oluşturmak için Oluştur ' u seçin.After the validation is complete, select Create to create the account.

    Azure Cosmos DB için yeni hesap sayfası

  6. Hesabın oluşturulması birkaç dakika sürer.It takes a few minutes to create the account. Dağıtımınızın devam ettiği bir ileti görürsünüz.You'll see a message that states Your deployment is underway. Dağıtımın bitmesini bekleyin ve sonra Kaynağa Git' i seçin.Wait for the deployment to finish, and then select Go to resource.

    Azure portal bildirimleri bölmesi

.NET konsol projesi oluşturmaCreate a .NET console project

Visual Studio 'da yeni bir .NET konsol uygulaması oluşturun.In Visual Studio, create a new .NET console application. Aşağıdaki adımlarda, Visual Studio 2019 ' de bir konsol uygulamasının nasıl oluşturulacağı gösterilmektedir.The following steps show you how to create a console application in Visual Studio 2019. Azure Cosmos DB tablo kitaplığını, bir Azure bulut hizmeti veya Web uygulaması, masaüstü ve mobil uygulamalar dahil olmak üzere herhangi bir türde .NET uygulamasında kullanabilirsiniz.You can use the Azure Cosmos DB Table Library in any type of .NET application, including an Azure cloud service or web app, and desktop and mobile applications. Bu kılavuzda, sadeleştirmek için konsol uygulaması kullanmaktayız.In this guide, we use a console application for simplicity.

  1. Dosya > Yeni > Proje' yi seçin.Select File > New > Project.

  2. Konsol uygulaması (.NET Core) öğesini seçin ve ardından İleri' yi seçin.Choose Console App (.NET Core), and then select Next.

  3. Proje adı alanında, uygulamanız Için Cosmostablesamples gibi bir ad girin.In the Project name field, enter a name for your application, such as CosmosTableSamples. (Gerektiğinde farklı bir ad sağlayabilirsiniz.)(You can provide a different name as needed.)

  4. Oluştur’u seçin.Select Create.

Bu örnekteki tüm kod örnekleri konsol uygulamanızın program. cs dosyasının Main () yöntemine eklenebilir.All code examples in this sample can be added to the Main() method of your console application's Program.cs file.

Gerekli NuGet paketini yüklerInstall the required NuGet package

NuGet paketini edinmek için aşağıdaki adımları izleyin:To obtain the NuGet package, follow these steps:

  1. Çözüm Gezgini'nde projenize sağ tıklayın ve NuGet Paketlerini Yönet’i seçin.Right-click your project in Solution Explorer and choose Manage NuGet Packages.

  2. ,, Ve için çevrimiçi olarak arama yapın Microsoft.Azure.Cosmos.Table Microsoft.Extensions.Configuration Microsoft.Extensions.Configuration.Json Microsoft.Extensions.Configuration.Binder ve Microsoft Azure Cosmos db tablo kitaplığını yüklemek için yüklemeyi seçin.Search online for Microsoft.Azure.Cosmos.Table, Microsoft.Extensions.Configuration, Microsoft.Extensions.Configuration.Json, Microsoft.Extensions.Configuration.Binder and select Install to install the Microsoft Azure Cosmos DB Table Library.

Depolama bağlantı dizelerinizi yapılandırmaConfigure your storage connection string

  1. Azure PortalAzure Cosmos hesabınıza veya tablo depolama hesabına gidin.From the Azure portal, navigate to your Azure Cosmos account or the Table Storage account.

  2. Bağlantı dizesini veya erişim tuşları bölmesini açın.Open the Connection String or Access keys pane. Pencerenin sağ tarafındaki kopyala düğmesini kullanarak PRIMARY CONNECTION STRING'i kopyalayın.Use the copy button on the right side of the window to copy the PRIMARY CONNECTION STRING.

    Bağlantı Dizesi bölmesindeki PRIMARY CONNECTION STRING’i görüntüleyin ve kopyalayın

  3. Bağlantı dizenizi yapılandırmak için, Visual Studio 'dan projenizin Cosmostablesamples öğesine sağ tıklayın.To configure your connection string, from visual studio right click on your project CosmosTableSamples.

  4. Ekle ' yi ve ardından Yeni öğe' yi seçin.Select Add and then New Item. Dosya türü ile TYPESCRIPT JSON yapılandırma dosyası olarak Settings.js yeni bir dosya oluşturun.Create a new file Settings.json with file type as TypeScript JSON Configuration File.

  5. Dosyadaki Settings.jskodundaki kodu aşağıdaki kodla değiştirin ve birincil Bağlantı dizenizi atayın:Replace the code in Settings.json file with the following code and assign your primary connection string:

    {
    "StorageConnectionString": <Primary connection string of your Azure Cosmos DB account>
    }
    
  6. Projenizin Cosmostablesamples öğesine sağ tıklayın.Right click on your project CosmosTableSamples. Ekle, Yeni öğe ' yi seçin ve appSettings. cs adlı bir sınıf ekleyin.Select Add, New Item and add a class named AppSettings.cs.

  7. Aşağıdaki kodu AppSettings. cs dosyasına ekleyin.Add the following code to the AppSettings.cs file. Bu dosya Settings.jsdosyadaki bağlantı dizesini okur ve onu yapılandırma parametresine atar:This file reads the connection string from Settings.json file and assigns it to the configuration parameter:

namespace CosmosTableSamples
{
    using Microsoft.Extensions.Configuration;

    public class AppSettings
    {
        public string StorageConnectionString { get; set; }

        public static AppSettings LoadAppSettings()
        {
            IConfigurationRoot configRoot = new ConfigurationBuilder()
                .AddJsonFile("Settings.json")
                .Build();
            AppSettings appSettings = configRoot.Get<AppSettings>();
            return appSettings;
        }
    }
}

Bağlantı ayrıntılarını ayrıştırma ve doğrulamaParse and validate the connection details

  1. Projenizin Cosmostablesamples öğesine sağ tıklayın.Right click on your project CosmosTableSamples. Ekle, Yeni öğe ' yi seçin ve ortak. cs adlı bir sınıf ekleyin.Select Add, New Item and add a class named Common.cs. Bağlantı ayrıntılarını doğrulamak ve bu sınıf içinde bir tablo oluşturmak için kod yazacaksınız.You will write code to validate the connection details and create a table within this class.

  2. CreateStorageAccountFromConnectionStringAşağıda gösterildiği gibi bir yöntem tanımlayın.Define a method CreateStorageAccountFromConnectionString as shown below. Bu yöntem, bağlantı dizesi ayrıntılarını ayrıştırır ve "Settings.json" dosyasında sunulan hesap adı ve hesap anahtarı ayrıntılarının geçerli olduğunu doğrular.This method will parse the connection string details and validate that the account name and account key details provided in the "Settings.json" file are valid.

    using System;
    
    namespace CosmosTableSamples
    {
        using System.Threading.Tasks;
        using Microsoft.Azure.Cosmos.Table;
        using Microsoft.Azure.Documents;
    
        public class Common
        {
            public static CloudStorageAccount CreateStorageAccountFromConnectionString(string storageConnectionString)
            {
                CloudStorageAccount storageAccount;
                try
                {
                    storageAccount = CloudStorageAccount.Parse(storageConnectionString);
                }
                catch (FormatException)
                {
                    Console.WriteLine("Invalid storage account information provided. Please confirm the AccountName and AccountKey are valid in the app.config file - then restart the application.");
                    throw;
                }
                catch (ArgumentException)
                {
                    Console.WriteLine("Invalid storage account information provided. Please confirm the AccountName and AccountKey are valid in the app.config file - then restart the sample.");
                    Console.ReadLine();
                    throw;
                }
    
                return storageAccount;
            }
    

Tablo oluşturmaCreate a Table

CloudTableClient sınıfı, Tablo Depolamada depolanan tabloları ve varlıkları almanızı sağlar.The CloudTableClient class enables you to retrieve tables and entities stored in Table storage. Cosmos DB Tablo API'si hesabında hiç tablo olmadığı CreateTableAsync için, bir tablo oluşturmak için metodu Common. cs sınıfına ekleyelim:Because we don’t have any tables in the Cosmos DB Table API account, let’s add the CreateTableAsync method to the Common.cs class to create a table:

public static async Task<CloudTable> CreateTableAsync(string tableName)
{
    string storageConnectionString = AppSettings.LoadAppSettings().StorageConnectionString;

    // Retrieve storage account information from connection string.
    CloudStorageAccount storageAccount = CreateStorageAccountFromConnectionString(storageConnectionString);

    // Create a table client for interacting with the table service
    CloudTableClient tableClient = storageAccount.CreateCloudTableClient(new TableClientConfiguration());

    Console.WriteLine("Create a Table for the demo");

    // Create a table client for interacting with the table service 
    CloudTable table = tableClient.GetTableReference(tableName);
    if (await table.CreateIfNotExistsAsync())
    {
        Console.WriteLine("Created Table named: {0}", tableName);
    }
    else
    {
        Console.WriteLine("Table {0} already exists", tableName);
    }

    Console.WriteLine();
    return table;
}

"503 hizmeti kullanılamayan özel durum" hatası alırsanız, bağlantı modu için gereken bağlantı noktaları bir güvenlik duvarı tarafından engelleniyor olabilir.If you get a "503 service unavailable exception" error, it's possible that the required ports for the connectivity mode are blocked by a firewall. Bu sorunu onarmak için gerekli bağlantı noktalarını açın ya da aşağıdaki kodda gösterildiği gibi ağ geçidi modu bağlantısını kullanın:To fix this issue, either open the required ports or use the gateway mode connectivity as shown in the following code:

tableClient.TableClientConfiguration.UseRestExecutorForCosmosEndpoint = true;

Varlığı tanımlamaDefine the entity

Varlıklar, TableEntity’den oluşturulan özel bir sınıf kullanarak C# nesneleriyle eşlenir.Entities map to C# objects by using a custom class derived from TableEntity. Tabloya bir varlık eklemek için varlığınızın özelliklerini tanımlayan bir sınıf oluşturun.To add an entity to a table, create a class that defines the properties of your entity.

Projenizin Cosmostablesamples öğesine sağ tıklayın.Right click on your project CosmosTableSamples. Ekle, Yeni klasör ' ü seçin ve model olarak adlandırın.Select Add, New Folder and name it as Model. Model klasörü içinde Customerentity. cs adlı bir sınıf ekleyin ve bu sınıfa aşağıdaki kodu ekleyin.Within the Model folder add a class named CustomerEntity.cs and add the following code to it.

namespace CosmosTableSamples.Model
{
    using Microsoft.Azure.Cosmos.Table;

    public class CustomerEntity : TableEntity
    {
        public CustomerEntity()
        {
        }

        public CustomerEntity(string lastName, string firstName)
        {
            PartitionKey = lastName;
            RowKey = firstName;
        }

        public string Email { get; set; }

        public string PhoneNumber { get; set; }
    }
}

Bu kod, satır anahtarı olarak müşterinin adını ve bölüm anahtarı olarak soyadı ' nı kullanan bir varlık sınıfını tanımlar.This code defines an entity class that uses the customer's first name as the row key and last name as the partition key. Birlikte, bir varlığın bölüm ve sıra anahtarı varlığı tabloda benzersiz şekilde tanımlar.Together, an entity's partition and row key uniquely identify it in the table. Aynı bölüm anahtarına sahip varlıklar farklı bölüm anahtarları olan varlıklardan daha hızlı sorgulanabilir ancak farklı bölüm anahtarlarının kullanılması paralel işlemler için daha fazla ölçeklenebilirlik sağlar.Entities with the same partition key can be queried faster than entities with different partition keys but using diverse partition keys allows for greater scalability of parallel operations. Tablolarda depolanacak varlıklar, TableEntity sınıfından türetilen türler gibi desteklenen bir türde olmalıdır.Entities to be stored in tables must be of a supported type, for example derived from the TableEntity class. Bir tabloda depolamak istediğiniz varlık özellikleri, türün genel özellikleri olmalı ve değerleri hem almayı hem de ayarlamayı desteklemelidir.Entity properties you'd like to store in a table must be public properties of the type, and support both getting and setting of values. Bununla birlikte varlık türü parametresiz bir oluşturucu olmalıdır.Also, your entity type must expose a parameter-less constructor.

Varlık ekleme veya birleştirmeInsert or merge an entity

Aşağıdaki kod örneği bir varlık nesnesi oluşturur ve onu tabloya ekler.The following code example creates an entity object and adds it to the table. Tableoperation sınıfı Içindeki ınsertormerge yöntemi bir varlık eklemek veya birleştirmek için kullanılır.The InsertOrMerge method within the TableOperation class is used to insert or merge an entity. İşlemi yürütmek için CloudTable.ExecuteAsync yöntemi çağırılır.The CloudTable.ExecuteAsync method is called to execute the operation.

Projenizin Cosmostablesamples öğesine sağ tıklayın.Right click on your project CosmosTableSamples. Ekle, Yeni öğe ' yi seçin ve samplesutils. cs adlı bir sınıf ekleyin.Select Add, New Item and add a class named SamplesUtils.cs. Bu sınıf, varlıklarda CRUD işlemleri gerçekleştirmek için gereken tüm kodu depolar.This class stores all the code required to perform CRUD operations on the entities.

public static async Task<CustomerEntity> InsertOrMergeEntityAsync(CloudTable table, CustomerEntity entity)
{
    if (entity == null)
    {
        throw new ArgumentNullException("entity");
    }

    try
    {
        // Create the InsertOrReplace table operation
        TableOperation insertOrMergeOperation = TableOperation.InsertOrMerge(entity);

        // Execute the operation.
        TableResult result = await table.ExecuteAsync(insertOrMergeOperation);
        CustomerEntity insertedCustomer = result.Result as CustomerEntity;

        if (result.RequestCharge.HasValue)
        {
            Console.WriteLine("Request Charge of InsertOrMerge Operation: " + result.RequestCharge);
        }

        return insertedCustomer;
    }
    catch (StorageException e)
    {
        Console.WriteLine(e.Message);
        Console.ReadLine();
        throw;
    }
}

Bir bölümden varlık edinmeGet an entity from a partition

Tableoperation sınıfının altındaki Retrieve metodunu kullanarak bir bölümden varlık elde edebilirsiniz.You can get entity from a partition by using the Retrieve method under the TableOperation class. Aşağıdaki kod örneği, bir müşteri varlığının bölüm anahtarı satır anahtarını, e-posta ve telefon numarasını alır.The following code example gets the partition key row key, email and phone number of a customer entity. Bu örnek ayrıca varlık için sorgulamak üzere tüketilen istek birimlerini de yazdırır.This example also prints out the request units consumed to query for the entity. Bir varlığı sorgulamak için Samplesutils. cs dosyasına aşağıdaki kodu ekleyin:To query for an entity, append the following code to SamplesUtils.cs file:

public static async Task<CustomerEntity> RetrieveEntityUsingPointQueryAsync(CloudTable table, string partitionKey, string rowKey)
{
    try
    {
        TableOperation retrieveOperation = TableOperation.Retrieve<CustomerEntity>(partitionKey, rowKey);
        TableResult result = await table.ExecuteAsync(retrieveOperation);
        CustomerEntity customer = result.Result as CustomerEntity;
        if (customer != null)
        {
            Console.WriteLine("\t{0}\t{1}\t{2}\t{3}", customer.PartitionKey, customer.RowKey, customer.Email, customer.PhoneNumber);
        }

        if (result.RequestCharge.HasValue)
        {
            Console.WriteLine("Request Charge of Retrieve Operation: " + result.RequestCharge);
        }

        return customer;
    }
    catch (StorageException e)
    {
        Console.WriteLine(e.Message);
        Console.ReadLine();
        throw;
    }
}

Bir varlığı silmeDelete an entity

Bir varlığı güncelleştirmek için gösterilen aynı yöntemi kullanarak, bir varlığı aldıktan sonra kolayca silebilirsiniz.You can easily delete an entity after you have retrieved it by using the same pattern shown for updating an entity. Aşağıdaki kod bir müşteri girişini alır ve siler.The following code retrieves and deletes a customer entity. Bir varlığı silmek için Samplesutils. cs dosyasına aşağıdaki kodu ekleyin:To delete an entity, append the following code to SamplesUtils.cs file:

public static async Task DeleteEntityAsync(CloudTable table, CustomerEntity deleteEntity)
{
    try
    {
        if (deleteEntity == null)
        {
            throw new ArgumentNullException("deleteEntity");
        }

        TableOperation deleteOperation = TableOperation.Delete(deleteEntity);
        TableResult result = await table.ExecuteAsync(deleteOperation);

        if (result.RequestCharge.HasValue)
        {
            Console.WriteLine("Request Charge of Delete Operation: " + result.RequestCharge);
        }

    }
    catch (StorageException e)
    {
        Console.WriteLine(e.Message);
        Console.ReadLine();
        throw;
    }
}

Örnek verilerde CRUD işlemlerini yürütünExecute the CRUD operations on sample data

Tablo oluşturma, varlık ekleme veya birleştirme yöntemlerini tanımladıktan sonra, bu yöntemleri örnek verilerde çalıştırın.After you define the methods to create table, insert or merge entities, run these methods on the sample data. Bunu yapmak için, projenizin Cosmostablesamples öğesine sağ tıklayın.To do so, right click on your project CosmosTableSamples. Ekle, Yeni öğe ' yi seçin ve basicsamples. cs adlı bir sınıf ekleyin ve bu sınıfa aşağıdaki kodu ekleyin.Select Add, New Item and add a class named BasicSamples.cs and add the following code to it. Bu kod, bir tablo oluşturur ve ona varlıklar ekler.This code creates a table, adds entities to it.

Projenin sonundaki varlık ve tabloyu silmek istemiyorsanız, await table.DeleteIfExistsAsync() aşağıdaki koddan ve yöntemlerini açıklama olarak yapın SamplesUtils.DeleteEntityAsync(table, customer) .If don't want to delete the entity and table at the end of the project, comment the await table.DeleteIfExistsAsync() and SamplesUtils.DeleteEntityAsync(table, customer) methods from the following code. Tabloyu silmeden önce bu yöntemleri açıklamaya ve verileri doğrulamaya en iyisidir.It's best to comment out these methods and validate the data before you delete the table.

using System;

namespace CosmosTableSamples
{
    using System.Threading.Tasks;
    using Microsoft.Azure.Cosmos.Table;
    using Model;

    class BasicSamples
    {
        public async Task RunSamples()
        {
            Console.WriteLine("Azure Cosmos DB Table - Basic Samples\n");
            Console.WriteLine();

            string tableName = "demo" + Guid.NewGuid().ToString().Substring(0, 5);

            // Create or reference an existing table
            CloudTable table = await Common.CreateTableAsync(tableName);

            try
            {
                // Demonstrate basic CRUD functionality 
                await BasicDataOperationsAsync(table);
            }
            finally
            {
                // Delete the table
                await table.DeleteIfExistsAsync();
            }
        }

        private static async Task BasicDataOperationsAsync(CloudTable table)
        {
            // Create an instance of a customer entity. See the Model\CustomerEntity.cs for a description of the entity.
            CustomerEntity customer = new CustomerEntity("Harp", "Walter")
            {
                Email = "Walter@contoso.com",
                PhoneNumber = "425-555-0101"
            };

            // Demonstrate how to insert the entity
            Console.WriteLine("Insert an Entity.");
            customer = await SamplesUtils.InsertOrMergeEntityAsync(table, customer);

            // Demonstrate how to Update the entity by changing the phone number
            Console.WriteLine("Update an existing Entity using the InsertOrMerge Upsert Operation.");
            customer.PhoneNumber = "425-555-0105";
            await SamplesUtils.InsertOrMergeEntityAsync(table, customer);
            Console.WriteLine();

            // Demonstrate how to Read the updated entity using a point query 
            Console.WriteLine("Reading the updated Entity.");
            customer = await SamplesUtils.RetrieveEntityUsingPointQueryAsync(table, "Harp", "Walter");
            Console.WriteLine();

            // Demonstrate how to Delete an entity
            Console.WriteLine("Delete the entity. ");
            await SamplesUtils.DeleteEntityAsync(table, customer);
            Console.WriteLine();
        }
    }
}

Önceki kod, "Demo" ile başlayan bir tablo oluşturur ve oluşturulan GUID tablo adına eklenir.The previous code creates a table that starts with “demo” and the generated GUID is appended to the table name. Ardından, ilk ve son adı "Harp Walter" olarak bir müşteri varlığı ekler ve daha sonra bu kullanıcının telefon numarasını günceller.It then adds a customer entity with first and last name as “Harp Walter” and later updates the phone number of this user.

Bu öğreticide, Tablo API'si hesapta depolanan veriler üzerinde temel CRUD işlemlerini gerçekleştirmek için kod derlediniz.In this tutorial, you built code to perform basic CRUD operations on the data stored in Table API account. Ayrıca, – toplu veri ekleme, bir bölümdeki tüm verileri sorgulama, bir bölüm içindeki veri aralığını sorgulama ve adları belirtilen önekle başlayan hesaptaki tabloları listeleyen gibi gelişmiş işlemleri de gerçekleştirebilirsiniz.You can also perform advanced operations such as – batch inserting data, query all the data within a partition, query a range of data within a partition, Lists tables in the account whose names begin with the specified prefix. Tam örnek form olan Azure-Cosmos-Table-DotNet-Core-Başlarken GitHub deposunu indirebilirsiniz.You can download the complete sample form azure-cosmos-table-dotnet-core-getting-started GitHub repository. Advancedsamples. cs sınıfında veri üzerinde gerçekleştirebileceğiniz daha fazla işlem vardır.The AdvancedSamples.cs class has more operations that you can perform on the data.

Projeyi çalıştırmaRun the project

Proje Cosmostablesamples.From your project CosmosTableSamples. Program. cs adlı sınıfı açın ve proje çalışırken basicsamples ' i çağırmak için aşağıdaki kodu ekleyin.Open the class named Program.cs and add the following code to it for calling BasicSamples when the project runs.

using System;

namespace CosmosTableSamples
{
    class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Azure Cosmos Table Samples");
            BasicSamples basicSamples = new BasicSamples();
            basicSamples.RunSamples().Wait();

            AdvancedSamples advancedSamples = new AdvancedSamples();
            advancedSamples.RunSamples().Wait();

            Console.WriteLine();
            Console.WriteLine("Press any key to exit");
            Console.Read();
        }
    }
}

Şimdi Çözümü derleyin ve F5 tuşuna basarak projeyi çalıştırın.Now build the solution and press F5 to run the project. Proje çalıştırıldığında, komut isteminde aşağıdaki çıktıyı görürsünüz:When the project is run, you will see the following output in the command prompt:

Komut isteminden çıkış

Projeyi çalıştırırken Settings.jsdosya bulunamıyorsa bir hata alırsanız, proje ayarlarına aşağıdaki XML girişini ekleyerek bu sorunu çözebilirsiniz.If you receive an error that says Settings.json file can’t be found when running the project, you can resolve it by adding the following XML entry to the project settings. CosmosTableSamples öğesine sağ tıklayın, CosmosTableSamples. csproj öğesini Düzenle ' yi seçin ve şu ItemGroup 'u ekleyin:Right click on CosmosTableSamples, select Edit CosmosTableSamples.csproj and add the following itemGroup:

  <ItemGroup>
    <None Update="Settings.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
  </ItemGroup>

Artık Azure portal oturum açabilir ve verilerin tabloda var olduğunu doğrulayabilirsiniz.Now you can sign into the Azure portal and verify that the data exists in the table.

Portalda sonuçlar

Sonraki adımlarNext steps

Artık sonraki öğreticiye devam edebilir ve verileri Azure Cosmos DB Tablo API'si hesabına geçirmeyi öğrenebilirsiniz.You can now proceed to the next tutorial and learn how to migrate data to Azure Cosmos DB Table API account.