演習 - .NET アプリと参照 SDK を作成する

完了

プロジェクトのアプリケーションを作成する最初の手順として、.NET プロジェクトを作成する必要があります。 .NET プロジェクトでは、Microsoft.Azure.Cosmos SDK を使って、既に作成済みのアカウントに接続する必要があることを思い出してください。 ここでの重要な要件は次の 3 つです。

  • .NET プロジェクトを作成する
  • SDK へのパッケージ参照を追加する
  • クライアント クラスを使って接続する

Azure Cosmos DB アカウントと .NET アプリケーションを示すアイコンの図。

この演習を完了すると、API for NoSQL アカウントに正常に接続されるシンプルな .NET アプリケーションが作成されますが、操作はまだ実行されません。

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

.NET CLI を使用して、指定したディレクトリ内で .NET プロジェクトの作成と管理を行います。 ここでは、CLI を使用して新しいコンソール アプリケーションを作成し、SDK へのパッケージ参照を追加します。

  1. 現在のディレクトリに新しいコンソール アプリケーションを作成します。

    dotnet new console
    

    ヒント

    プロジェクト名やディレクトリを指定していないため、コマンドを実行すると現在のディレクトリに新しいプロジェクトが作成され、プロジェクトにはディレクトリの名前 (inventory) と一致する名前が付けられます。

  2. NuGet から Microsoft.Azure.Cosmos ライブラリのバージョン 3 へのパッケージ参照を追加します。

    dotnet add package Microsoft.Azure.Cosmos --version 3.*
    
  3. NuGet から Azure.Identity ライブラリのバージョン 1 へのパッケージ参照を追加します。

    dotnet add package Azure.Identity --version 1.*
    
  4. .NET プロジェクトをビルドして、プロジェクトが正しく構成されたことを確認します。

    dotnet build
    

    コマンドの出力は、次の例のようになるはずです。

    MSBuild version 17.5.0+6f08c67f3 for .NET
      Determining projects to restore...
      All projects are up-to-date for restore.
      dotnet-env-azure-cosmos-db -> /workspaces/dotnet-env-azure-cosmos-db/bin/Debug/net7.0/dotnet-env-azure-cosmos-db.dll
    
    Build succeeded.
        0 Warning(s)
        0 Error(s)
    
    Time Elapsed 00:00:05.96
    

アカウントに接続する

これで、.NET プロジェクトがビルドされ、独自のカスタム コードを追加する準備が整いました。 API for NoSQL に接続するために必要なすべてのクラスを含む、Microsoft.Azure.Cosmos および Azure.Identity 名前空間にアクセスできます。 ここでは、Program.cs ファイルを開き、SDK のクライアント クラスを使用してアカウントに接続するコードを実装します。

  1. コード エディターで Program.cs ファイルを開きます。

  2. ファイルから既存のコードをすべて削除します。

  3. 次の名前空間に using ディレクティブを追加します。

    using Azure.Identity;
    using Microsoft.Azure.Cosmos;
    using Microsoft.Azure.Cosmos.Fluent;
    using Microsoft.Azure.Cosmos.Linq;
    
  4. endpoint という型の文字列変数を作成します。 変数の値を、このモジュールで前に記録したアカウントの "ドキュメント エンドポイント" に設定します。

    const string endpoint = "<nosql-account-endpoint>";
    

    ヒント

    Azure Cosmos DB アカウントの名前が mslearn-nosql-000000000 であると想定すると、エンドポイントの構成はこちらの例のようになります。

    const string endpoint = "https://mslearn-nosql-000000000.documents.azure.com:443/";
    
  5. credential という名前の DefaultAzureCredential 型の新しい変数を作成します。

    DefaultAzureCredential credential = new();
    
  6. serializerOptions という名前の CosmosSerializationOptions クラスの新しいインスタンスを作成します。 PropertyNamingPolicy プロパティを、CamelCase 列挙型の値 CamelCase に設定します。

    CosmosSerializationOptions serializerOptions = new()
    {
        PropertyNamingPolicy = CosmosPropertyNamingPolicy.CamelCase
    };
    
  7. 資格情報とエンドポイントをコンストラクターに渡して、CosmosClientBuilder クラスの新しいインスタンスを作成します。 次に、WithSerializerOptions(CosmosSerializationOptions) fluent メソッドをつなげて、このメソッドのパラメーターを serializerOptions に設定します。 Build() メソッドをつなげ、CosmosClient 型で client という名前のインスタンスを作成します。 最後に、クライアント変数の作成を using ステートメントでラップします。

    using CosmosClient client = new CosmosClientBuilder(endpoint, credential)
        .WithSerializerOptions(serializerOptions)
        .Build();
    
  8. クライアントの準備ができていることを示すメッセージを出力します。

    Console.WriteLine("[Client ready]");    
    
  9. Program.cs ファイルを保存します。

作業を確認

これで、アプリケーションを実行して Azure Cosmos DB for NoSQL に接続する準備ができました。 ここでは、自分のアプリケーション コードをサンプルと比較します。 次に、コードを実行し、アプリケーションが期待どおりに動作することを確認します。

  1. ターミナルで .NET アプリケーションを実行する

    dotnet run
    
  2. アプリケーションを実行した出力を確認します。 出力は、次の例と一致しているはずです。

    [Client ready]
    

Note

.NET アプリケーションのビルドまたは実行でエラーが発生する場合は、[コードのレビュー] タブに移動して、ご自身のコードが例と一致していることを確認してください。