.NET および DAX - Amazon DynamoDB

.NET および DAX

次のステップに従って、Amazon EC2 インスタンスで .NET サンプルを実行します。

注記

このチュートリアルでは .NET 9 SDK を使用します。ここでは、デフォルト Amazon VPC のプログラムを実行して、Amazon DynamoDB Accelerator (DAX) クラスターにアクセスする方法を示しています。AWS SDK v4 for .NET で動作します。V4 の変更と移行に関する詳細については、「AWS SDK for .NET のバージョン 4 への移行」を参照してください。必要に応じて、AWS Toolkit for Visual Studio を使用して .NET アプリケーションを記述し、VPC 内にデプロイできます。

詳細については、「AWS Elastic Beanstalk デベロッパーガイド」の「AWS Toolkit for Visual Studio を使用した .NET での Elastic Beanstalk アプリケーションの作成とデプロイ」を参照してください。

DAX の .NET サンプルを実行するには
  1. Microsoft ダウンロードページ にアクセスし、最新の .NET 9 SDK for Linux をダウンロードします。ダウンロードされたファイルは、dotnet-sdk-N.N.N-linux-x64.tar.gz です。

  2. SDK ファイルを展開します。

    mkdir dotnet tar zxvf dotnet-sdk-N.N.N-linux-x64.tar.gz -C dotnet

    N.N.N を .NET SDK の実際のバージョン番号 (例: 9.0.305) で置き換えます。

  3. インストールを確認します。

    alias dotnet=$HOME/dotnet/dotnet dotnet --version

    これにより、.NET SDK のバージョン番号が表示されます。

    注記

    バージョン番号ではなく、以下のエラーが表示される場合があります。

    error: libunwind.so.8: 共有オブジェクトファイルを開けません: そのようなファイルまたはディレクトリは存在しません

    このエラーを解決するには、libunwind パッケージをインストールします。

    sudo yum install -y libunwind

    この操作を行うと、dotnet --version コマンドがエラーなしで実行されます。

  4. 新しい .NET プロジェクトを作成します。

    dotnet new console -o myApp

    この 1 回限りの設定には数分かかります。設定が完了したら、サンプルプロジェクトを実行します。

    dotnet run --project myApp

    Hello World! というメッセージが表示されます。

  5. myApp/myApp.csproj ファイルにはプロジェクトに関するメタデータが含まれています。アプリケーションで DAX クライアントを使用するには、このファイルを次のように変更します。

    <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net9.0</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="AWSSDK.DAX.Client" Version="*" /> </ItemGroup> </Project>
  6. サンプルプログラムソースコード (.zip ファイル) をダウンロードします。

    wget http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/samples/TryDax.zip

    ダウンロードが完了したら、ソースファイルを解凍します。

    unzip TryDax.zip
  7. 次に、サンプルプログラム「dotNet」を一度に 1 つずつ実行します。プログラムごとにそのコンテンツを myApp/Program.cs 内にコピーし、MyApp プロジェクトを実行します。

    以下の .NET プログラムを実行します。最初のプログラムは、TryDaxTable という DynamoDB テーブルを作成します。2 番目のプログラムは、テーブルにデータを書き込みます。

    cp TryDax/dotNet/01-CreateTable.cs myApp/Program.cs dotnet run --project myApp cp TryDax/dotNet/02-Write-Data.cs myApp/Program.cs dotnet run --project myApp
  8. 次に、いくつかのプログラムを実行し、GetItemQuery、および Scan の各オペレーションを DAX クラスターに対して実行します。DAX クラスターのエンドポイントを確認するには、次のいずれかを選択します。

    • DynamoDB コンソールの使用 — DAX クラスターを選択します。次の例のように、クラスターエンドポイントがコンソールに表示されます。

      dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
    • AWS CLI の使用 — 次のコマンドを入力します。

      aws dax describe-clusters --query "Clusters[*].ClusterDiscoveryEndpoint"

      次の例のように、クラスターエンドポイントが出力に表示されます。

      { "Address": "my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com", "Port": 8111, "URL": "dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com" }

    次に、以下のプログラムを実行し、クラスターエンドポイントをコマンドラインパラメータとして指定します (サンプルのエンドポイントを実際の DAX クラスターエンドポイントに置き換えてください)。

    cp TryDax/dotNet/03-GetItem-Test.cs myApp/Program.cs dotnet run --project myApp dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com cp TryDax/dotNet/04-Query-Test.cs myApp/Program.cs dotnet run --project myApp dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com cp TryDax/dotNet/05-Scan-Test.cs myApp/Program.cs dotnet run --project myApp dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com

    タイミング情報を書き留めます。これは GetItemQueryScan テストに必要なミリ秒の数字です。

  9. 次の .NET プログラムを実行し、TryDaxTable を削除します。

    cp TryDax/dotNet/06-DeleteTable.cs myApp/Program.cs dotnet run --project myApp

これらのプログラムの詳細については、以下のセクションを参照してください。