.NET SDK

更新時間:
Copy as MD

Table Store .NET SDK 支援寬表模型操作。

快速接入

快速接入Table Store .NET SDK,完成環境準備、SDK 安裝和用戶端初始化。

準備環境

SDK 基於 .NET Standard 2.0 構建,支援以下平台和運行時:

平台

運行時

Windows

  • .NET Core 2.0 及以上版本,或 .NET Framework 4.0 及以上版本

  • Visual Studio 2010 及以上版本

Linux 和 macOS

  • .NET Core 2.0 及以上版本

安裝 SDK

通過 NuGet 或源碼引入方式安裝Table Store .NET SDK。

NuGet 安裝

使用 .NET CLI 快速安裝:

dotnet add package Aliyun.TableStore.SDK

也可以在 Visual Studio 的 NuGet 封裝管理員中安裝:

  1. 在 Visual Studio 中開啟或建立專案,選擇工具 > NuGet 封裝管理員 > 管理解決方案的 NuGet 程式包

    說明

    如果 Visual Studio 未安裝 NuGet,從NuGet下載並安裝。

  2. 搜尋 aliyun.tablestore,在結果中選擇 Aliyun.TableStore.SDK

  3. 選擇最新版本,單擊安裝。安裝完成後,SDK 自動添加到專案中。

源碼安裝

將 SDK 源碼直接引入專案。

  1. GitHub複製 SDK 倉庫:

    git clone https://github.com/aliyun/aliyun-tablestore-csharp-sdk.git
    說明

    如果未安裝 Git,從Git下載並安裝。

  2. 在 Visual Studio 中按右鍵解決方案,在快顯功能表中選擇添加 > 現有專案

  3. 在彈出的對話方塊中選擇 aliyun-tablestore-sdk.csproj 檔案,單擊開啟

  4. 按右鍵專案,選擇引用 > 添加引用。在彈出的對話方塊中,切換到專案選項卡,選中 aliyun-tablestore-sdk

  5. 單擊確定

配置訪問憑證

為阿里雲帳號或RAM使用者建立AccessKey,並按如下方式將AccessKey配置到環境變數中。通過環境變數配置AccessKey可避免在代碼中寫入程式碼敏感資訊,提升安全性。

配置完成後請重啟或重新整理編譯運行環境,包括IDE、命令列介面、其它傳統型應用程式及後台服務,確保最新的系統內容變數成功載入。更多訪問憑證類型,請參見配置訪問憑證

Linux

  1. 在命令列介面執行以下命令來將環境變數設定追加到 ~/.bashrc 檔案中。

    echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bashrc
    echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bashrc
  2. 執行以下命令使變更生效。

    source ~/.bashrc
  3. 執行以下命令檢查環境變數是否生效。

    echo $TABLESTORE_ACCESS_KEY_ID
    echo $TABLESTORE_ACCESS_KEY_SECRET

macOS

  1. 在終端中執行以下命令,查看預設 Shell 類型。

    echo $SHELL
  2. 根據預設 Shell 類型進行操作。

    Zsh
    1. 執行以下命令來將環境變數設定追加到 ~/.zshrc 檔案中。

      echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.zshrc
      echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.zshrc
    2. 執行以下命令使變更生效。

      source ~/.zshrc
    3. 執行以下命令檢查環境變數是否生效。

      echo $TABLESTORE_ACCESS_KEY_ID
      echo $TABLESTORE_ACCESS_KEY_SECRET
    Bash
    1. 執行以下命令來將環境變數設定追加到 ~/.bash_profile 檔案中。

      echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bash_profile
      echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bash_profile
    2. 執行以下命令使變更生效。

      source ~/.bash_profile
    3. 執行以下命令檢查環境變數是否生效。

      echo $TABLESTORE_ACCESS_KEY_ID
      echo $TABLESTORE_ACCESS_KEY_SECRET

Windows

CMD
  1. CMD中運行以下命令設定環境變數。

    setx TABLESTORE_ACCESS_KEY_ID "YOUR_ACCESS_KEY_ID"
    setx TABLESTORE_ACCESS_KEY_SECRET "YOUR_ACCESS_KEY_SECRET"
  2. 重啟CMD後,運行以下命令,檢查環境變數是否生效。

    echo %TABLESTORE_ACCESS_KEY_ID%
    echo %TABLESTORE_ACCESS_KEY_SECRET%
PowerShell
  1. PowerShell中運行以下命令。

    [Environment]::SetEnvironmentVariable("TABLESTORE_ACCESS_KEY_ID", "YOUR_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User)
    [Environment]::SetEnvironmentVariable("TABLESTORE_ACCESS_KEY_SECRET", "YOUR_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)
  2. 運行以下命令,檢查環境變數是否生效。

    [Environment]::GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User)
    [Environment]::GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)

初始化用戶端

.NET SDK 支援多線程。使用多線程時,建議共用一個 OTSClient 對象。初始化用戶端後,通過列舉執行個體下的資料表驗證串連是否正常。

重要

新建立的執行個體預設未啟用公網訪問功能。如需通過公網訪問執行個體中的資源,在執行個體的網絡管理中開啟公網訪問。

using System;
using Aliyun.OTS;
using Aliyun.OTS.Request;
using Aliyun.OTS.Response;

namespace Aliyun.OTS.Samples
{
    public class Sample
    {
        public static void InitializeClient()
        {
            // yourEndpoint 填寫執行個體訪問地址
            string endpoint = "yourEndpoint";
            // yourInstanceName 填寫執行個體名稱
            string instanceName = "yourInstanceName";
            // 擷取環境變數裡的 AccessKey ID 和 AccessKey Secret
            string accessKeyId = Environment.GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_ID");
            string accessKeySecret = Environment.GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_SECRET");
            OTSClientConfig config = new OTSClientConfig(endpoint, accessKeyId, accessKeySecret, instanceName)
            {
                OTSDebugLogHandler = null,
                OTSErrorLogHandler = null
            };

            try
            {
                // 初始化 Tablestore Client
                OTSClient client = new OTSClient(config);
                // 列出執行個體中的資料表列表並列印
                ListTableResponse response = client.ListTable(new ListTableRequest());
                foreach (var tableName in response.TableNames)
                {
                    Console.WriteLine(tableName);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("List table failed, exception:{0}", ex.Message);
            }
        }
    }
}

版本相容性

當前最新版本為 6.x.x,新版本對歷史版本的相容性如下:

版本

相容性

說明

5.x.x

相容

不涉及

4.x.x

相容

不涉及

3.x.x

相容

不涉及

2.x.x

不相容

介面部分不相容:刪除 Condition.IGNORE、Condition.EXPECT_EXIST 和 Condition.EXPECT_NOT_EXIST。DLL 檔案名稱由 Aliyun.dll 變更為 Aliyun.TableStore.dll。

SDK 版本迭代的詳細資料,參見.NET SDK歷史迭代版本

常見問題

相關文檔

Table Store的錯誤處理方式,參見錯誤處理