表格存储 .NET SDK 支持宽表模型操作。
快速接入
快速接入表格存储 .NET SDK,完成环境准备、SDK 安装和客户端初始化。
准备环境
SDK 基于 .NET Standard 2.0 构建,支持以下平台和运行时:
平台 | 运行时 |
Windows |
|
Linux 和 macOS |
|
安装 SDK
通过 NuGet 或源码引入方式安装表格存储 .NET SDK。
NuGet 安装
使用 .NET CLI 快速安装:
dotnet add package Aliyun.TableStore.SDK也可以在 Visual Studio 的 NuGet 程序包管理器中安装:
在 Visual Studio 中打开或新建项目,选择工具 > NuGet 程序包管理器 > 管理解决方案的 NuGet 程序包。
说明如果 Visual Studio 未安装 NuGet,从NuGet下载并安装。
搜索 aliyun.tablestore,在结果中选择 Aliyun.TableStore.SDK。
选择最新版本,单击安装。安装完成后,SDK 自动添加到项目中。
源码安装
将 SDK 源码直接引入项目。
配置访问凭证
为阿里云账号或RAM用户创建AccessKey,并按如下方式将AccessKey配置到环境变量中。通过环境变量配置AccessKey可避免在代码中硬编码敏感信息,提升安全性。
配置完成后请重启或刷新编译运行环境,包括IDE、命令行界面、其它桌面应用程序及后台服务,确保最新的系统环境变量成功加载。更多访问凭证类型,请参见配置访问凭证。
Linux
在命令行界面执行以下命令来将环境变量设置追加到
~/.bashrc文件中。echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bashrc echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bashrc执行以下命令使变更生效。
source ~/.bashrc执行以下命令检查环境变量是否生效。
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET
macOS
在终端中执行以下命令,查看默认 Shell 类型。
echo $SHELL根据默认 Shell 类型进行操作。
Zsh
执行以下命令来将环境变量设置追加到
~/.zshrc文件中。echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.zshrc echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.zshrc执行以下命令使变更生效。
source ~/.zshrc执行以下命令检查环境变量是否生效。
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET
Bash
执行以下命令来将环境变量设置追加到
~/.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执行以下命令使变更生效。
source ~/.bash_profile执行以下命令检查环境变量是否生效。
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET
Windows
CMD
在CMD中运行以下命令设置环境变量。
setx TABLESTORE_ACCESS_KEY_ID "YOUR_ACCESS_KEY_ID" setx TABLESTORE_ACCESS_KEY_SECRET "YOUR_ACCESS_KEY_SECRET"重启CMD后,运行以下命令,检查环境变量是否生效。
echo %TABLESTORE_ACCESS_KEY_ID% echo %TABLESTORE_ACCESS_KEY_SECRET%
PowerShell
在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)运行以下命令,检查环境变量是否生效。
[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历史迭代版本。
常见问题
相关文档
表格存储的错误处理方式,参见错误处理。