.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: cannot open shared object file: No such file or directory

    오류를 해결하려면 libunwind 패키지를 설치합니다.

    sudo yum install -y libunwind

    이를 완료한 후에는 오류 없이 dotnet --version 명령을 실행할 수 있습니다.

  4. 새로운 .NET 프로젝트 생성.

    dotnet new console -o myApp

    일회성 설정을 수행하는 데 몇 분이 걸릴 수 있습니다. 완료되고 나면 샘플 프로젝트를 실행합니다.

    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. 이제 한 번에 하나씩 샘플 프로그램을 실행합니다. 각 프로그램에서 내용을 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
  8. 다음으로 일부 프로그램을 실행하여 DAX 클러스터에서 GetItem, QueryScan 작업을 수행합니다. 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, QueryScan 테스트에 필요한 시간 정보(밀리초)를 기록해 둡니다.

  9. 다음 .NET 프로그램을 실행하여 TryDaxTable를 삭제합니다.

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

이러한 프로그램에 대한 자세한 내용은 다음 단원을 참조하세요.