.NET 및 DAX - Amazon DynamoDB

.NET 및 DAX

Amazon EC2 인스턴스에서 .NET 샘플을 실행하려면 다음 단계를 따릅니다.

참고

본 자습서에서는 .NET 9 SDK를 사용합니다. 기본 Amazon VPC에서 프로그램을 실행하여 Amazon DynamoDB Accelerator(DAX) 클러스터에 액세스하는 방법을 보여줍니다. .NET용 AWS SDK v4에서 작동합니다. V4의 변경 사항과 마이그레이션에 대한 자세한 내용은 .NET용 AWS SDK 버전 4로 마이그레이션을 참조하세요. 원하는 경우 AWS Toolkit for Visual Studio를 사용하여 .NET 애플리케이션을 작성하고 VPC에 배포할 수 있습니다.

자세한 내용은 AWS Elastic Beanstalk 개발자 설명서에서 AWS Toolkit for Visual Studio를 사용한 .NET 내 Elastic Beanstalk 애플리케이션 생성 및 배포를 참조하세요.

DAX에 대한 .NET 샘플을 실행하려면
  1. Microsoft 다운로드 페이지로 이동하여 최신 버전의 .NET 9 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의 실제 버전 번호로 바꿉니다.(예: 9.0.305).

  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>net9.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. 이제 dotNet의 샘플 프로그램을 한 번에 하나씩 실행합니다. 각 프로그램에서 내용을 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

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