.NET SDK

更新时间:
复制为 MD 格式

表格存储 .NET SDK 支持宽表模型操作。

快速接入

快速接入表格存储 .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 或源码引入方式安装表格存储 .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历史迭代版本

常见问题

相关文档

表格存储的错误处理方式,参见错误处理