.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: cannot open shared object file: No such file or directory
오류를 해결하려면
libunwind
패키지를 설치합니다.sudo yum install -y libunwind
이를 완료한 후에는 오류 없이
dotnet --version
명령을 실행할 수 있습니다. -
새로운 .NET 프로젝트 생성.
dotnet new console -o myApp
일회성 설정을 수행하는 데 몇 분이 걸릴 수 있습니다. 완료되고 나면 샘플 프로젝트를 실행합니다.
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
-
이제 한 번에 하나씩 샘플 프로그램을 실행합니다. 각 프로그램에서 내용을
myApp/Program.cs
로 복사한 다음MyApp
프로젝트를 실행합니다.다음 .NET 프로그램을 실행합니다. 첫 프로그램은
TryDaxTable
이라는 DynamoDB 테이블을 생성합니다. 두 번째 프로그램은 해당 테이블에 데이터를 씁니다.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
-
다음으로 일부 프로그램을 실행하여 DAX 클러스터에서
GetItem
,Query
및Scan
작업을 수행합니다. DAX 클러스터의 엔드포인트를 정의하려면 다음 중 하나를 선택합니다.-
Using the DynamoDB console(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
이러한 프로그램에 대한 자세한 내용은 다음 단원을 참조하세요.