.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 サンプルを実行するには
-
Microsoft ダウンロードページ
にアクセスし、最新の .NET 6 (または .NET Core) 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.N
6.0.100
) で置き換えます。 -
インストールを確認します。
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 myApp
Hello World!
というメッセージが表示されます。 -
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>
-
サンプルプログラムソースコード (
.zip
ファイル) をダウンロードします。wget http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/samples/TryDax.zip
ダウンロードが完了したら、ソースファイルを解凍します。
unzip TryDax.zip
-
次に、サンプルプログラムを一度に 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 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
タイミング情報を書き留めます。これは
GetItem
、Query
、Scan
テストに必要なミリ秒の数字です。 -
-
次の .NET プログラムを実行し、
TryDaxTable
を削除します。cp TryDax/dotNet/06-DeleteTable.cs myApp/Program.cs dotnet run --project myApp
これらのプログラムの詳細については、以下のセクションを参照してください。