.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 サンプルを実行するには
-
Microsoft ダウンロードページ
にアクセスし、最新の .NET 9 SDK for Linux をダウンロードします。ダウンロードされたファイルは、 dotnet-sdk-です。N.N.N-linux-x64.tar.gz -
SDK ファイルを展開します。
mkdir dotnet tar zxvf dotnet-sdk-N.N.N-linux-x64.tar.gz -C dotnetを .NET SDK の実際のバージョン番号 (例:N.N.N9.0.305) で置き換えます。 -
インストールを確認します。
alias dotnet=$HOME/dotnet/dotnet dotnet --versionこれにより、.NET SDK のバージョン番号が表示されます。
注記
バージョン番号ではなく、以下のエラーが表示される場合があります。
error: libunwind.so.8: 共有オブジェクトファイルを開けません: そのようなファイルまたはディレクトリは存在しませんこのエラーを解決するには、
libunwindパッケージをインストールします。sudo yum install -y libunwindこの操作を行うと、
dotnet --versionコマンドがエラーなしで実行されます。 -
新しい .NET プロジェクトを作成します。
dotnet new console -o myAppこの 1 回限りの設定には数分かかります。設定が完了したら、サンプルプロジェクトを実行します。
dotnet run --project myAppHello World!というメッセージが表示されます。 -
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> -
サンプルプログラムソースコード (
.zipファイル) をダウンロードします。wget http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/samples/TryDax.zipダウンロードが完了したら、ソースファイルを解凍します。
unzip TryDax.zip -
次に、サンプルプログラム「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 -
次に、いくつかのプログラムを実行し、
GetItem、Query、および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 myAppdax://my-cluster---l6fzcv---dax-clusters---us-east-1.amazonaws.com.rproxy.govskope.cacp TryDax/dotNet/04-Query-Test.cs myApp/Program.cs dotnet run --project myAppdax://my-cluster---l6fzcv---dax-clusters---us-east-1.amazonaws.com.rproxy.govskope.cacp TryDax/dotNet/05-Scan-Test.cs myApp/Program.cs dotnet run --project myAppdax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.comタイミング情報を書き留めます。これは
GetItem、Query、Scanテストに必要なミリ秒の数字です。 -
-
次の .NET プログラムを実行し、
TryDaxTableを削除します。cp TryDax/dotNet/06-DeleteTable.cs myApp/Program.cs dotnet run --project myApp
これらのプログラムの詳細については、以下のセクションを参照してください。