.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 Downloads page (Microsoft 下載頁面) 並下載適用於 Linux 的最新 .NET 6 (或 .NET Core) SDK。下載的檔案為 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 的版本號碼。

    注意

    您可能會收到以下錯誤 (而不是版本號碼):

    錯誤:libunwind.so.8:無法開啟共享物件檔案:找不到檔案或目錄

    若要解決錯誤,請安裝 libunwind 套件。

    sudo yum install -y libunwind

    在執行此作業後,您應該能夠執行 dotnet --version 命令,而不會發生任何錯誤。

  4. 建立新的 .NET 專案。

    dotnet new console -o myApp

    這需要幾分鐘的時間來執行 one-time-only 設定。完成時,請執行範例專案。

    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 叢集上執行 GetItemQueryScan 操作。若要判斷您 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

    記下計時資訊:GetItemQueryScan 測試所需要的毫秒數。

  9. 執行以下 .NET 程式,以刪除 TryDaxTable

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

如需這些程式的詳細資訊,請參閱下列各節: