Rozpoczynanie pracy z usługą Azure Cosmos DB interfejs API tabel i usługą Azure Table Storage przy użyciu zestawu .NET SDKGet started with Azure Cosmos DB Table API and Azure Table storage using the .NET SDK

Porada

Zawartość tego artykułu dotyczy magazynu tabel Azure i interfejsu API tabeli w usłudze Azure Cosmos DB.The content in this article applies to Azure Table storage and the Azure Cosmos DB Table API. Interfejs API tabeli w usłudze Azure Cosmos DB jest ofertą Premium służącą do przechowywania tabel, która zapewnia tabele zoptymalizowane pod kątem przepływności, ich globalną dystrybucję i automatyczne indeksy pomocnicze.The Azure Cosmos DB Table API is a premium offering for table storage that offers throughput-optimized tables, global distribution, and automatic secondary indexes.

Za pomocą interfejs API tabel Azure Cosmos DB lub magazynu tabel platformy Azure można przechowywać strukturalne dane NoSQL w chmurze, zapewniając Magazyn kluczy/atrybutów ze schematem, który nie jest zaprojektowany.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. Ponieważ Azure Cosmos DB interfejs API tabel i magazyn tabel są mniej schematem, można łatwo dostosować dane w miarę rozwoju aplikacji.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. Za pomocą interfejs API tabel Azure Cosmos DB lub magazynu tabel można przechowywać elastyczne zestawy danych, takie jak dane użytkowników dla aplikacji sieci Web, książki adresowe, informacje o urządzeniach lub inne typy metadanych, których wymaga Twoja usługa.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.

W tym samouczku opisano przykład, w którym pokazano, jak używać biblioteki tabel Microsoft Azure Cosmos DB dla platformy .NET z usługami Azure Cosmo DB interfejs API tabel i Azure Table Storage.This tutorial describes a sample that shows you how to use the Microsoft Azure Cosmos DB Table Library for .NET with Azure Cosmo DB Table API and Azure Table storage scenarios. Musisz użyć połączenia specyficznego dla usługi platformy Azure.You must use the connection specific to the Azure service. Te scenariusze zostały omówione przy użyciu C# przykładów, które ilustrują sposób tworzenia tabel, wstawiania/aktualizowania danych, wykonywania zapytań dotyczących danych i usuwania tabel.These scenarios are explored using C# examples that illustrate how to create tables, insert/ update data, query data and delete the tables.

Wymagania wstępnePrerequisites

Do pomyślnego ukończenia pracy z przykładem wymagane są następujące elementy:You need the following to complete this sample successfully:

Tworzenie konta interfejsu API tabel usługi Azure Cosmos DBCreate an Azure Cosmos DB Table API account

  1. W nowym oknie przeglądarki zaloguj się do witryny Azure Portal.In a new browser window, sign in to the Azure portal.

  2. W okienku nawigacji po lewej stronie wybierz Utwórz zasób.In the left navigation pane, select Create a resource. Wybierz baz danych , a następnie wybierz usługi Azure Cosmos DB.Select Databases and then select Azure Cosmos DB.

    Zrzut ekranu witryny Azure Portal wyróżnionymi poleceniami więcej usług i usługi Azure Cosmos DB

  3. Na Tworzenie konta usługi Azure Cosmos DB strony, wprowadź ustawienia dla nowego konta usługi Azure Cosmos DB:On the Create Azure Cosmos DB Account page, enter the settings for the new Azure Cosmos DB account:

    UstawienieSetting WartośćValue OpisDescription
    SubscriptionSubscription Twoja subskrypcjaYour subscription Wybierz subskrypcję platformy Azure, której chcesz użyć dla tego konta usługi Azure Cosmos DB.Select the Azure subscription that you want to use for this Azure Cosmos DB account.
    Grupa zasobówResource Group Tworzenie nowego elementuCreate new

    Następnie wprowadź taką samą unikatową nazwę, która została podana jako identyfikatorThen enter the same unique name as provided in ID
    Wybierz pozycjęUtwórz nowy.Select Create new. Następnie wprowadź nazwę nowej grupy zasobów dla swojego konta.Then enter a new resource group name for your account. Dla uproszczenia użyj takiej samej nazwy jak identyfikator.For simplicity, use the same name as your ID.
    Nazwa kontaAccount Name Wprowadź unikatową nazwęEnter a unique name Wprowadź unikatową nazwę do identyfikacji konta usługi Azure Cosmos DB.Enter a unique name to identify your Azure Cosmos DB account.

    Identyfikator może zawierać tylko małe litery, cyfry i znaki łącznika (-).The ID can use only lowercase letters, numbers, and the hyphen (-) character. Należy się od 3 do 31 znaków.It must be between 3 and 31 characters long.
    interfejs APIAPI Tabela platformy AzureAzure Table Interfejs API określa typ konta do utworzenia.The API determines the type of account to create. Usługa Azure Cosmos DB oferuje pięć interfejsów API: Core(SQL) dla baz danych dokumentów, Gremlin dla baz danych wykresów, MongoDB dla baz danych dokumentów, Azure Table i Cassandra.Azure Cosmos DB provides five APIs: Core(SQL) for document databases, Gremlin for graph databases, MongoDB for document databases, Azure Table, and Cassandra. Obecnie dla każdego interfejsu API należy utworzyć oddzielne konto.Currently, you must create a separate account for each API.

    Wybierz Azure Table ponieważ w tym przewodniku Szybki Start tworzysz tabelę, która współdziała z interfejsem API tabel.Select Azure Table because in this quickstart you're creating a table that works with the Table API.

    Dowiedz się więcej na temat interfejsu API tabel.Learn more about the Table API.
    LocationLocation Wybierz region najbliżej Twoich użytkownikówSelect the region closest to your users Wybierz lokalizację geograficzną, w której będzie hostowane konto usługi Azure Cosmos DB.Select a geographic location to host your Azure Cosmos DB account. Użyj lokalizacji, która jest najbliżej Twoich użytkowników, aby zapewnić im najszybszy dostęp do danych.Use the location that's closest to your users to give them the fastest access to data.

    Możesz pozostawić nadmiarowość geograficzna i zapisuje w wielu regionach opcje wartościami domyślnymi (wyłączyć) aby uniknąć dodatkowych opłat jednostek RU.You can leave the Geo-Redundancy and Multi-region Writes options at their default values (Disable) to avoid additional RU charges. Możesz pominąć sieci i tagi sekcje.You can skip the Network and Tags sections.

  4. Wybierz pozycję Przeglądanie+tworzenie.Select Review+Create. Po zakończeniu walidacji wybierz Utwórz do utworzenia konta.After the validation is complete, select Create to create the account.

    Strona nowego konta usługi Azure Cosmos DB

  5. Trwa kilka minut, aby utworzyć konto.It takes a few minutes to create the account. Zobaczysz komunikat informujący, wdrożenia jest w toku.You'll see a message that states Your deployment is underway. Poczekaj, aż wdrożenia zakończyć, a następnie wybierz przejdź do zasobu.Wait for the deployment to finish and then select Go to resource.

    W okienku powiadomienia z portalu Azure

Tworzenie projektu konsoli .NETCreate a .NET console project

W programie Visual Studio Utwórz nową aplikację konsolową platformy .NET.In Visual Studio, create a new .NET console application. Poniższe kroki pokazują, jak utworzyć aplikację konsolową w programie Visual Studio 2019.The following steps show you how to create a console application in Visual Studio 2019. Biblioteki tabel Azure Cosmos DB można używać w dowolnym typie aplikacji platformy .NET, w tym w usłudze w chmurze platformy Azure lub aplikacji sieci Web oraz aplikacji klasycznych i mobilnych.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. W tym przewodniku dla uproszczenia przedstawiono aplikację konsolową.In this guide, we use a console application for simplicity.

  1. Wybierz kolejno pozycje Plik > Nowy > Projekt.Select File > New > Project.

  2. Wybierz pozycję aplikacja konsoli (.NET Core) , a następnie wybierz przycisk dalej.Choose Console App (.NET Core), and then select Next.

  3. W polu Nazwa projektu wprowadź nazwę aplikacji, na przykład CosmosTableSamples.In the Project name field, enter a name for your application, such as CosmosTableSamples. (W razie konieczności można podać inną nazwę).(You can provide a different name as needed.)

  4. Wybierz pozycję Utwórz.Select Create.

Wszystkie przykłady kodu z tego przykładu można dodać do metody Main () pliku program.cs aplikacji konsolowej.All code examples in this sample can be added to the Main() method of your console application's Program.cs file.

Zainstaluj wymagany pakiet NuGetInstall the required NuGet package

Aby uzyskać pakiet NuGet, wykonaj następujące kroki:To obtain the NuGet package, follow these steps:

  1. Kliknij projekt prawym przyciskiem myszy w Eksploratorze rozwiązań i wybierz polecenie Zarządzaj pakietami NuGet.Right-click your project in Solution Explorer and choose Manage NuGet Packages.

  2. Wyszukaj w trybie Microsoft.Azure.Cosmos.Tableonline Microsoft.Extensions.Configurationpozycję Microsoft.Extensions.Configuration.Json, Microsoft.Extensions.Configuration.Binder , i wybierz pozycję Zainstaluj , aby zainstalować bibliotekę tabel Microsoft Azure Cosmos DB.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.

Konfigurowanie parametrów połączenia magazynuConfigure your storage connection string

  1. W Azure Portalprzejdź do konta usługi Azure Cosmos lub konta Table Storage.From the Azure portal, navigate to your Azure Cosmos account or the Table Storage account.

  2. Otwórz okienko Parametry połączenia lub klucze dostępu .Open the Connection String or Access keys pane. Użyj przycisku kopiowania po prawej stronie okna, aby skopiować PODSTAWOWE PARAMETRY POŁĄCZENIA.Use the copy button on the right side of the window to copy the PRIMARY CONNECTION STRING.

    Wyświetlanie i kopiowanie PODSTAWOWYCH PARAMETRÓW POŁĄCZENIA w okienku parametrów połączenia

  3. Aby skonfigurować parametry połączenia, w programie Visual Studio kliknij prawym przyciskiem myszy projekt CosmosTableSamples.To configure your connection string, from visual studio right click on your project CosmosTableSamples.

  4. Wybierz pozycję Dodaj , a następnie pozycję nowy element.Select Add and then New Item. Utwórz nowy plik pliku Settings. JSON z typem pliku jako plik konfiguracji JSON języka TypeScript .Create a new file Settings.json with file type as TypeScript JSON Configuration File.

  5. Zastąp kod w pliku Settings. JSON następującym kodem i przypisz podstawowe parametry połączenia: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. Kliknij prawym przyciskiem myszy projekt CosmosTableSamples.Right click on your project CosmosTableSamples. Wybierz pozycję Dodaj, nowy element i dodaj klasę o nazwie appSettings.cs.Select Add, New Item and add a class named AppSettings.cs.

  7. Dodaj następujący kod do pliku AppSettings.cs.Add the following code to the AppSettings.cs file. Ten plik odczytuje parametry połączenia z pliku Settings. JSON i przypisuje go do parametru konfiguracji: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;
         }
     }
    }
    

Analizowanie i weryfikowanie szczegółów połączeniaParse and validate the connection details

  1. Kliknij prawym przyciskiem myszy projekt CosmosTableSamples.Right click on your project CosmosTableSamples. Wybierz pozycję Dodaj, nowy element i dodaj klasę o nazwie Common.cs.Select Add, New Item and add a class named Common.cs. Napiszesz kod, aby zweryfikować szczegóły połączenia i utworzyć tabelę w tej klasie.You will write code to validate the connection details and create a table within this class.

  2. Zdefiniuj metodę CreateStorageAccountFromConnectionString , jak pokazano poniżej.Define a method CreateStorageAccountFromConnectionString as shown below. Ta metoda analizuje szczegóły parametrów połączenia i sprawdza, czy nazwa konta i szczegóły klucza konta podane w pliku "Settings. JSON" są prawidłowe.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;
       }
   }
}

Tworzenie tabeliCreate a Table

Klasa CloudTableClient umożliwia pobieranie tabel i jednostek przechowywanych w usłudze Table Storage.The CloudTableClient class enables you to retrieve tables and entities stored in Table storage. Ponieważ nie mamy żadnych tabel na koncie Cosmos DB interfejs API tabel, dodajmy CreateTableAsync metodę do klasy Common.cs , aby utworzyć tabelę: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;
}

Zdefiniuj jednostkęDefine the entity

Jednostki są mapowane C# na obiekty przy użyciu klasy niestandardowej pochodnej od klasy tableentity.Entities map to C# objects by using a custom class derived from TableEntity. Aby dodać jednostkę do tabeli, należy utworzyć klasę, która definiuje właściwości jednostki.To add an entity to a table, create a class that defines the properties of your entity.

Kliknij prawym przyciskiem myszy projekt CosmosTableSamples.Right click on your project CosmosTableSamples. Wybierz pozycję Dodaj, Nowy folder i nadaj jej nazwę model.Select Add, New Folder and name it as Model. W folderze model Dodaj klasę o nazwie CustomerEntity.cs i Dodaj do niej następujący kod.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; }
    }
}

Ten kod definiuje klasę jednostki używającą imienia klienta jako klucza wiersza i nazwisko jako klucz partycji.This code defines an entity class that uses the customer's first name as the row key and last name as the partition key. Razem klucz partycji i klucz wiersza jednostki jednoznacznie identyfikują jednostkę w tabeli.Together, an entity's partition and row key uniquely identify it in the table. Jednostki z tym samym kluczem partycji mogą być przeszukiwane szybciej niż jednostki o różnych kluczach partycji, ale użycie różnych kluczy partycji umożliwia większą skalowalność operacji równoległych.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. Jednostki, które mają być przechowywane w tabelach, muszą być typu obsługiwanego, na przykład pochodnego od klasy klasy tableentity .Entities to be stored in tables must be of a supported type, for example derived from the TableEntity class. Właściwości jednostki, które zamierzasz przechowywać w tabeli, muszą być publicznymi właściwościami typu i obsługiwać zarówno pobieranie, jak i ustawianie wartości.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. Ponadto typ jednostki musi ujawniać Konstruktor bez parametrów.Also, your entity type must expose a parameter-less constructor.

Wstawianie lub scalanie jednostkiInsert or merge an entity

Poniższy przykład kodu tworzy obiekt Entity i dodaje go do tabeli.The following code example creates an entity object and adds it to the table. Metoda InsertOrMerge w klasie TableOperation służy do wstawiania lub scalania jednostki.The InsertOrMerge method within the TableOperation class is used to insert or merge an entity. Metoda Cloud. wywoływanie ExecuteAsync jest wywoływana w celu wykonania operacji.The CloudTable.ExecuteAsync method is called to execute the operation.

Kliknij prawym przyciskiem myszy projekt CosmosTableSamples.Right click on your project CosmosTableSamples. Wybierz pozycję Dodaj, nowy element i dodaj klasę o nazwie SamplesUtils.cs.Select Add, New Item and add a class named SamplesUtils.cs. Ta klasa przechowuje wszystkie kody wymagane do wykonywania operacji CRUD na jednostkach.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;

         // Get the request units consumed by the current operation. RequestCharge of a TableResult is only applied to Azure Cosmos DB
         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;
     }
 }

Pobieranie jednostki z partycjiGet an entity from a partition

Jednostkę można pobrać z partycji za pomocą metody get w klasie TableOperation .You can get entity from a partition by using the Retrieve method under the TableOperation class. Poniższy przykład kodu Pobiera klucz wiersza klucza partycji, adres e-mail i numer telefonu jednostki klienta.The following code example gets the partition key row key, email and phone number of a customer entity. Ten przykład drukuje również jednostki żądań zużyte do zapytania dla jednostki.This example also prints out the request units consumed to query for the entity. Aby wykonać zapytanie dotyczące jednostki, Dołącz następujący kod do pliku SamplesUtils.cs :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);
        }

        // Get the request units consumed by the current operation. RequestCharge of a TableResult is only applied to Azure CosmoS DB 
        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;
        }
    }

Usuwanie jednostkiDelete an entity

Można z łatwością usunąć jednostkę po jej pobraniu, korzystając z tego samego wzorca co w przypadku aktualizowania jednostki.You can easily delete an entity after you have retrieved it by using the same pattern shown for updating an entity. Poniższy kod umożliwia pobranie i usunięcie jednostki klienta.The following code retrieves and deletes a customer entity. Aby usunąć jednostkę, Dołącz następujący kod do pliku SamplesUtils.cs :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);

    // Get the request units consumed by the current operation. RequestCharge of a TableResult is only applied to Azure CosmoS DB 
    if (result.RequestCharge.HasValue)
    {
       Console.WriteLine("Request Charge of Delete Operation: " + result.RequestCharge);
    }

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

Wykonywanie operacji CRUD na przykładowych danychExecute the CRUD operations on sample data

Po zdefiniowaniu metod tworzenia tabeli, wstawiania lub scalania jednostek należy uruchomić te metody na przykładowych danych.After you define the methods to create table, insert or merge entities, run these methods on the sample data. Aby to zrobić, kliknij prawym przyciskiem myszy projekt CosmosTableSamples.To do so, right click on your project CosmosTableSamples. Wybierz pozycję Dodaj, nowy element i dodaj klasę o nazwie BasicSamples.cs i Dodaj do niej następujący kod.Select Add, New Item and add a class named BasicSamples.cs and add the following code to it. Ten kod tworzy tabelę, dodaje do niej jednostki.This code creates a table, adds entities to it. Jeśli chcesz usunąć jednostkę i tabelę na końcu projektu, Usuń Komentarze z table.DeleteIfExistsAsync() i SamplesUtils.DeleteEntityAsync(table, customer) metod z następującego kodu:If you wish to delete the entity and table at the end of the project remove the comments from table.DeleteIfExistsAsync() and SamplesUtils.DeleteEntityAsync(table, customer) methods from the following code:

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();
        }
    }
}

Poprzedni kod tworzy tabelę rozpoczynającą się od "demonstracji", a wygenerowany identyfikator GUID jest dołączany do nazwy tabeli.The previous code creates a table that starts with “demo” and the generated GUID is appended to the table name. Następnie dodaje jednostkę klienta z imię i nazwisko jako "Harpa Waltera", a później aktualizuje numer telefonu tego użytkownika.It then adds a customer entity with first and last name as “Harp Walter” and later updates the phone number of this user.

W tym samouczku przedstawiono tworzenie kodu do wykonywania podstawowych operacji CRUD na danych przechowywanych na koncie interfejs API tabel.In this tutorial, you built code to perform basic CRUD operations on the data stored in Table API account. Można również wykonywać Zaawansowane operacje, takie jak — wsadowe Wstawianie danych, wykonywanie zapytań dotyczących wszystkich danych w obrębie partycji, wykonywanie zapytań względem zakresu danych w obrębie partycji, wyświetlanie listy tabel na koncie, których nazwy zaczynają się od określonego prefiksu.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. Możesz pobrać kompletną przykładową postać Azure-Cosmos-Table-dotnet-Core- Rozpoczynanie pracy z repozytorium GitHub.You can download the complete sample form azure-cosmos-table-dotnet-core-getting-started GitHub repository. Klasa AdvancedSamples.cs ma więcej operacji, które można wykonywać na danych.The AdvancedSamples.cs class has more operations that you can perform on the data.

Uruchamianie projektuRun the project

Z projektu CosmosTableSamples.From your project CosmosTableSamples. Otwórz klasę o nazwie program.cs i Dodaj do niej następujący kod służący do wywoływania BasicSamples podczas działania projektu.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();
           
            Console.WriteLine();
            Console.WriteLine("Press any key to exit");
            Console.Read();
        }
    }
}

Teraz Skompiluj rozwiązanie i naciśnij klawisz F5, aby uruchomić projekt.Now build the solution and press F5 to run the project. Po uruchomieniu projektu w wierszu polecenia zostaną wyświetlone następujące dane wyjściowe:When the project is run, you will see the following output in the command prompt:

Dane wyjściowe z wiersza polecenia

Jeśli zostanie wyświetlony komunikat o błędzie z informacją, że nie można znaleźć pliku Settings. JSON podczas uruchamiania projektu, można go rozwiązać, dodając następujący wpis XML do ustawień projektu.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. Kliknij prawym przyciskiem myszy pozycję CosmosTableSamples, wybierz pozycję Edytuj CosmosTableSamples. csproj i Dodaj następujący element:Right click on CosmosTableSamples, select Edit CosmosTableSamples.csproj and add the following itemGroup:

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

Teraz możesz zalogować się do Azure Portal i sprawdzić, czy dane istnieją w tabeli.Now you can sign into the Azure portal and verify that the data exists in the table.

Wyniki w portalu

Następne krokiNext steps

Teraz możesz przechodzić do następnego samouczka i dowiedzieć się, jak migrować dane do konta interfejs API tabel Azure Cosmos DB.You can now proceed to the next tutorial and learn how to migrate data to Azure Cosmos DB Table API account.