.NET SDK を使用した Azure Cosmos DB Table API と Azure Table Storage の概要Get started with Azure Cosmos DB Table API and Azure Table storage using the .NET SDK

適用対象: Table API

ヒント

この記事の内容の適用対象は、Azure Table Storage および Azure Cosmos DB Table API です。The content in this article applies to Azure Table storage and the Azure Cosmos DB Table API. Azure Cosmos DB Table API は、スループット最適化テーブル、グローバル配布、自動セカンダリ インデックスを提供する Table Storage 用の Premium オファーです。The Azure Cosmos DB Table API is a premium offering for table storage that offers throughput-optimized tables, global distribution, and automatic secondary indexes.

Azure Cosmos DB Table API または Azure Table Storage を使用すると、NoSQL の構造化データをクラウドに格納し、スキーマレスのデザインでキー/属性ストアを実現できます。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 Table API と Table Storage にはスキーマがないため、アプリケーションの進化のニーズに合わせてデータを容易に適応させることができます。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. Azure Cosmos DB Table API または Table Storage を使用すると、Web アプリケーションのユーザー データ、アドレス帳、デバイス情報、サービスに必要なその他の種類のメタデータなど、柔軟なデータセットを格納できます。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.

このチュートリアルでは、Azure Cosmos DB Table API と Azure Table Storage のシナリオで .NET 用 Microsoft Azure Cosmos DB Table ライブラリを使用する方法を紹介したサンプルについて説明します。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 サービス専用の接続を使用する必要があります。You must use the connection specific to the Azure service. テーブルの作成、データの挿入や更新、データの照会、テーブルの削除の方法を示した C# の例を使用して、これらのシナリオを考察しています。These scenarios are explored using C# examples that illustrate how to create tables, insert/ update data, query data and delete the tables.

前提条件Prerequisites

このサンプルの作業を行うためには、次のものが必要になります。You need the following to complete this sample successfully:

Azure Cosmos DB Table API アカウントを作成するCreate an Azure Cosmos DB Table API account

  1. 新しいブラウザー ウィンドウで、Azure Portal にサインインします。In a new browser window, sign in to the Azure portal.

  2. 左側のメニューで、 [リソースの作成] を選択します。In the left menu, select Create a resource.

    Azure portal でリソースを作成する

  3. [新規] ページで、 [データベース] > [Azure Cosmos DB] の順に選択します。On the New page, select Databases > Azure Cosmos DB.

    Azure portal の [データベース] ウィンドウ

  4. [Azure Cosmos DB アカウントの作成] ページで、新しい Azure Cosmos DB アカウントの設定を入力します。On the Create Azure Cosmos DB Account page, enter the settings for the new Azure Cosmos DB account.

    設定Setting Value 説明Description
    サブスクリプションSubscription 該当するサブスクリプションYour subscription この Azure Cosmos DB アカウントに使用する Azure サブスクリプションを選択します。Select the Azure subscription that you want to use for this Azure Cosmos DB account.
    リソース グループResource Group [新規作成] 、アカウント名Create new , then Account Name [新規作成] を選択します。Select Create new. その後、自分のアカウントの新しいリソース グループの名前を入力します。Then enter a new resource group name for your account. 簡略化のため、Azure Cosmos DB アカウント名と同じ名前を使用します。For simplicity, use the same name as your Azure Cosmos DB account name.
    アカウント名Account Name 一意の名前A unique name 自分の Azure Cosmos DB アカウントを識別するための一意の名前を入力します。Enter a unique name to identify your Azure Cosmos DB account.

    アカウント名に使用できるのは、小文字、数字、ハイフン (-) のみで、長さは 3 文字から 31 文字の範囲にする必要があります。The account name can use only lowercase letters, numbers, and hyphens (-), and must be between 3 and 31 characters long.
    APIAPI テーブルTable API によって、作成するアカウントの種類が決まります。The API determines the type of account to create. Azure Cosmos DB には、5 種類の API が用意されています。ドキュメント データベース用の Core (SQL)、グラフ データベース用の Gremlin、ドキュメント データベース用の MongoDB、Azure Table、Cassandra です。Azure Cosmos DB provides five APIs: Core (SQL) for document databases, Gremlin for graph databases, MongoDB for document databases, Azure Table, and Cassandra. API ごとに別のアカウントを作成する必要があります。You must create a separate account for each API.

    このクイックスタートでは Table API で動作するテーブルを作成するので、 Azure Table を選択します。Select Azure Table , because in this quickstart you are creating a table that works with the Table API.

    Table API の詳細Learn more about the Table API.
    場所Location ユーザーに最も近いリージョンThe region closest to your users Azure Cosmos DB アカウントをホストする地理的な場所を選択します。Select a geographic location to host your Azure Cosmos DB account. データに最も高速にアクセスできる、ユーザーに最も近い場所を使用します。Use the location that's closest to your users to give them the fastest access to the data.
    容量モードCapacity mode プロビジョニング スループットまたはサーバーレスProvisioned throughput or Serverless プロビジョニング スループット モードでアカウントを作成するには、 [Provisioned throughput](プロビジョニング スループット) を選択します。Select Provisioned throughput to create an account in provisioned throughput mode. サーバーレス モードでアカウントを作成するには、 [サーバーレス] を選択します。Select Serverless to create an account in serverless mode.

    追加の料金を回避するために、 [geo 冗長性] オプションと [マルチ リージョン書き込み] オプションを [無効] のままにし、 [ネットワーク] および [タグ] セクションをスキップすることができます。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. [確認および作成] を選択します。Select Review+Create. 検証が完了したら、 [作成] を選択してアカウントを作成します。After the validation is complete, select Create to create the account.

    Azure Cosmos DB の新しいアカウント ページ

  6. アカウントの作成には数分かかります。It takes a few minutes to create the account. " デプロイが進行中です " というメッセージが表示されます。You'll see a message that states Your deployment is underway. デプロイが完了するまで待ってから、 [リソースに移動] を選択します。Wait for the deployment to finish, and then select Go to resource.

    Azure portal の通知ウィンドウ

.NET コンソール プロジェクトを作成するCreate a .NET console project

Visual Studio で、新しい .NET コンソール アプリケーションを作成します。In Visual Studio, create a new .NET console application. 次の手順では、Visual Studio 2019 でコンソール アプリケーションを作成する方法を説明します。The following steps show you how to create a console application in Visual Studio 2019. Azure クラウド サービスまたは Web アプリ、デスクトップ アプリケーション、モバイル アプリケーションなど、どの種類の .NET アプリケーションでも Azure Cosmos DB Table ライブラリを使用できます。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. このガイドでは、わかりやすくするためにコンソール アプリケーションを使用します。In this guide, we use a console application for simplicity.

  1. [File] > [New] > [Project] の順に選択します。Select File > New > Project.

  2. [コンソール アプリ (.NET Core)] を選択し、 [次へ] を選択します。Choose Console App (.NET Core) , and then select Next.

  3. [プロジェクト名] フィールドに、 CosmosTableSamples のようなアプリケーションの名前を入力します。In the Project name field, enter a name for your application, such as CosmosTableSamples. 必要に応じて、別の名前を指定できます。(You can provide a different name as needed.)

  4. [作成] を選択しますSelect Create.

このサンプルのすべてのコード例は、コンソール アプリケーションの Program.cs ファイルの Main() メソッドに追加できます。All code examples in this sample can be added to the Main() method of your console application's Program.cs file.

必須 NuGet パッケージをインストールするInstall the required NuGet package

NuGet パッケージを取得するには、次の手順に従います。To obtain the NuGet package, follow these steps:

  1. ソリューション エクスプローラー でプロジェクトを右クリックし、 [NuGet パッケージの管理] をクリックします。Right-click your project in Solution Explorer and choose Manage NuGet Packages.

  2. Microsoft.Azure.Cosmos.TableMicrosoft.Extensions.ConfigurationMicrosoft.Extensions.Configuration.JsonMicrosoft.Extensions.Configuration.Binder をオンラインで検索し、 [インストール] を選択して Microsoft Azure Cosmos DB Table ライブラリをインストールします。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.

ストレージ接続文字列の構成Configure your storage connection string

  1. Azure portal で、Azure Cosmos アカウントまたは Table Storage アカウントに移動します。From the Azure portal, navigate to your Azure Cosmos account or the Table Storage account.

  2. [接続文字列] または [アクセス キー] ウィンドウを開きます。Open the Connection String or Access keys pane. ウィンドウの右側にある [コピー] ボタンを使って プライマリ接続文字列 をコピーします。Use the copy button on the right side of the window to copy the PRIMARY CONNECTION STRING.

    [接続文字列] ウィンドウでプライマリ接続文字列を確認してコピーする

  3. 接続文字列を構成するには、Visual Studio から対象のプロジェクト [CosmosTableSamples] を右クリックします。To configure your connection string, from visual studio right click on your project CosmosTableSamples.

  4. [追加][新しい項目] を順に選択します。Select Add and then New Item. ファイルの種類を [TypeScript JSON 構成ファイル] として新しいファイル Settings.json を作成します。Create a new file Settings.json with file type as TypeScript JSON Configuration File.

  5. Settings.json ファイル内のコードを次のコードに置き換え、実際のプライマリ接続文字列を割り当てます。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. 対象のプロジェクトである [CosmosTableSamples] を右クリックします。Right click on your project CosmosTableSamples. [追加][新しい項目] の順に選択し、 AppSettings.cs という名前のクラスを追加します。Select Add , New Item and add a class named AppSettings.cs.

  7. AppSettings.cs ファイルに次のコードを追加します。Add the following code to the AppSettings.cs file. このファイルは Settings.json ファイルから接続文字列を読み取り、それを構成パラメーターに割り当てます。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;
        }
    }
}

接続の詳細を解析して検証するParse and validate the connection details

  1. 対象のプロジェクトである [CosmosTableSamples] を右クリックします。Right click on your project CosmosTableSamples. [追加][新しい項目] の順に選択し、 Common.cs という名前のクラスを追加します。Select Add , New Item and add a class named Common.cs. このクラス内に、接続の詳細を検証してテーブルを作成するコードを記述します。You will write code to validate the connection details and create a table within this class.

  2. 以下のように、CreateStorageAccountFromConnectionString というメソッドを定義します。Define a method CreateStorageAccountFromConnectionString as shown below. このメソッドは、接続文字列の詳細を解析し、"Settings.json" ファイルに入力されているアカウント名とアカウント キーの詳細が有効であることを検証するものです。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;
            }
    

テーブルを作成するCreate a Table

CloudTableClient クラスを使用すると、Table Storage に格納されているテーブルとエンティティを取得できます。The CloudTableClient class enables you to retrieve tables and entities stored in Table storage. Cosmos DB Table API アカウントにはテーブルが 1 つもないので、テーブルを作成するための CreateTableAsync メソッドを Common.cs クラスに追加しましょう。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 service unavailable exception" (503 サービス利用不可の例外) エラーが表示される場合は、接続モードに必要なポートがファイアウォールによってブロックされている可能性があります。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. この問題を解決するには、次のコードに示すように、必要なポートを開くか、ゲートウェイ モード接続を使用します。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;

エンティティを定義するDefine the entity

エンティティは、TableEntity から派生するカスタム クラスを使用して C# オブジェクトにマップされます。Entities map to C# objects by using a custom class derived from TableEntity. エンティティをテーブルに追加するには、エンティティのプロパティを定義するクラスを作成します。To add an entity to a table, create a class that defines the properties of your entity.

対象のプロジェクトである [CosmosTableSamples] を右クリックします。Right click on your project CosmosTableSamples. [追加][新しいフォルダー] の順に選択し、 Model という名前を付けます。Select Add , New Folder and name it as Model. Model フォルダーに CustomerEntity.cs という名前のクラスを追加し、そこに次のコードを追加します。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; }
    }
}

このコードは、顧客の名を行キーとして、姓をパーティション キーとしてそれぞれ使用するエンティティ クラスを定義します。This code defines an entity class that uses the customer's first name as the row key and last name as the partition key. エンティティのパーティション キーと行キーの組み合わせで、テーブル内のエンティティを一意に識別します。Together, an entity's partition and row key uniquely identify it in the table. 同じパーティション キーを持つエンティティは、異なるパーティション キーを持つエンティティよりも迅速に照会できます。一方、多様なパーティション キーを使用すると、並列操作のスケーラビリティが向上します。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. テーブルに格納するエンティティは、TableEntity クラスから派生した型など、サポートされている型である必要があります。Entities to be stored in tables must be of a supported type, for example derived from the TableEntity class. テーブルに格納するエンティティのプロパティは、その型のパブリック プロパティであること、また、値の取得と設定の両方に対応していることが必要です。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. また、エンティティ型で、パラメーターのないコンストラクターを必ず公開する必要があります。Also, your entity type must expose a parameter-less constructor.

エンティティを挿入またはマージするInsert or merge an entity

次のコード例では、エンティティ オブジェクトを作成して、それをテーブルに追加します。The following code example creates an entity object and adds it to the table. エンティティの挿入とマージには、TableOperation クラス内の InsertOrMerge メソッドが使用されます。The InsertOrMerge method within the TableOperation class is used to insert or merge an entity. その操作は、CloudTable.ExecuteAsync メソッドを呼び出すことによって実行されます。The CloudTable.ExecuteAsync method is called to execute the operation.

対象のプロジェクトである [CosmosTableSamples] を右クリックします。Right click on your project CosmosTableSamples. [追加][新しい項目] の順に選択し、 SamplesUtils.cs という名前のクラスを追加します。Select Add , New Item and add a class named SamplesUtils.cs. エンティティに対する CRUD 操作を実行するために必要なすべてのコードが、このクラスに格納されます。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;
    }
}

パーティションからエンティティを取得するGet an entity from a partition

TableOperation クラスの Retrieve メソッドを使用してパーティションからエンティティを取得できます。You can get entity from a partition by using the Retrieve method under the TableOperation class. 次のコード例では、顧客エンティティのパーティション キー、行キー、メール、電話番号を取得しています。The following code example gets the partition key row key, email and phone number of a customer entity. また、この例では、エンティティのクエリで消費される要求ユニットも出力されます。This example also prints out the request units consumed to query for the entity. エンティティを照会するには、 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);
        }

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

エンティティを削除するDelete an entity

エンティティは、取得後に簡単に削除できます。エンティティの更新のときと同じパターンを使用します。You can easily delete an entity after you have retrieved it by using the same pattern shown for updating an entity. 次のコードは、ユーザー エンティティを取得して削除します。The following code retrieves and deletes a customer entity. エンティティを削除するには、 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);

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

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

サンプル データに対して CRUD 操作を実行するExecute the CRUD operations on sample data

テーブルの作成、エンティティの挿入やマージを行うための各メソッドを定義したら、それらのメソッドをサンプル データに対して実行します。After you define the methods to create table, insert or merge entities, run these methods on the sample data. そのためには、対象のプロジェクトである [CosmosTableSamples] を右クリックします。To do so, right click on your project CosmosTableSamples. [追加][新しい項目] の順に選択し、 BasicSamples.cs という名前のクラスを追加して、そこに以下のコードを追加してください。Select Add , New Item and add a class named BasicSamples.cs and add the following code to it. このコードによってテーブルが作成されて、そこにエンティティが追加されます。This code creates a table, adds entities to it.

プロジェクトの終わりにエンティティとテーブルを削除しない場合、次のコードの await table.DeleteIfExistsAsync() メソッドと 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. これらのメソッドをコメント アウトし、テーブルを削除する前にデータを検証することをお勧めします。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();
        }
    }
}

前出のコードでは、"demo" で始まるテーブルを作成し、生成された GUID をそのテーブル名に追加しています。The previous code creates a table that starts with “demo” and the generated GUID is appended to the table name. その後、名と姓が "Harp Walter" である顧客エンティティを追加した後、このユーザーの電話番号を更新します。It then adds a customer entity with first and last name as “Harp Walter” and later updates the phone number of this user.

このチュートリアルでは、Table API アカウントに格納されたデータに対して基本的な CRUD 操作を実行するコードを作成しました。In this tutorial, you built code to perform basic CRUD operations on the data stored in Table API account. それ以外にも、データのバッチ挿入、特定のパーティション内の全データの照会、特定のパーティション内の一連のデータの照会、名前が特定のプレフィックスで始まるアカウント内テーブルのリストなど、高度な操作を実行することもできます。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. その完全なサンプルは、GitHub リポジトリ azure-cosmos-table-dotnet-core-getting-started からダウンロードできます。You can download the complete sample form azure-cosmos-table-dotnet-core-getting-started GitHub repository. データに対して実行できるさまざまな操作が、AdvancedSamples.cs クラスに含まれています。The AdvancedSamples.cs class has more operations that you can perform on the data.

プロジェクトを実行するRun the project

対象のプロジェクトである [CosmosTableSamples] を選択します。From your project CosmosTableSamples. Program.cs という名前のクラスを開き、プロジェクトの実行時に BasicSamples を呼び出すために、次のコードを追加します。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();
        }
    }
}

ここでソリューションをビルドし、F5 キーを押してプロジェクトを実行します。Now build the solution and press F5 to run the project. プロジェクトを実行すると、コマンド プロンプトに次の出力内容が表示されます。When the project is run, you will see the following output in the command prompt:

コマンド プロンプトからの出力

プロジェクトを実行するときに Settings.json ファイルが見つからないというエラーが発生した場合は、次の XML エントリをプロジェクトの設定に追加することで解決できます。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 を右クリックし、[CosmosTableSamples.csproj の編集] を選択して、次の itemGroup を追加します。Right click on CosmosTableSamples, select Edit CosmosTableSamples.csproj and add the following itemGroup:

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

これで Azure portal にサインインして、テーブルにデータが存在することを確認できます。Now you can sign into the Azure portal and verify that the data exists in the table.

ポータルでの結果

次のステップNext steps

次のチュートリアルに進んで、Azure Cosmos DB Table API アカウントにデータを移行する方法を学びましょう。You can now proceed to the next tutorial and learn how to migrate data to Azure Cosmos DB Table API account.