.NET および DAX - Amazon DynamoDB

.NET および DAX

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

注記

このチュートリアルでは .NET 6 SDK を使用していますが、.NET Core SDK でも動作します。ここでは、デフォルト Amazon VPC のプログラムを実行して、Amazon DynamoDB Accelerator (DAX) クラスターにアクセスする方法を示しています。必要に応じて、AWS Toolkit for Visual Studio を使用して .NET アプリケーションを記述し、VPC 内にデプロイできます。

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

DAX の .NET サンプルを実行するには
  1. Microsoft ダウンロードページにアクセスし、最新の .NET 6 (または .NET Core) 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 の実際のバージョン番号 (例: 6.0.100) で置き換えます。

  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>net6.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. 次に、サンプルプログラムを一度に 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

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