All Products
Search
Document Center

Tablestore:Initialize a Tablestore client

Last Updated:Nov 03, 2025

A Tablestore client is a client for Tablestore and provides various methods that you can use to perform operations on tables and data in Tablestore. This topic describes how to use Tablestore SDK for .NET to initialize a Tablestore client.

Important

This topic describes how to initialize a Tablestore client using the AccessKey pair of an Alibaba Cloud account as an example. If you want to use the AccessKey pair of a Resource Access Management (RAM) user or temporary access credentials from Security Token Service (STS) to initialize the client, see Use the AccessKey pair of a RAM user to access Tablestore and Use temporary access credentials from STS to access Tablestore.

Usage notes

Tablestore SDK for .NET supports multithreading. We recommend that multiple threads share the same Tablestore client object.

Preparations

Before you initialize a Tablestore client, you must obtain information about the Tablestore instance that you want to access, install Tablestore SDK for Java, and configure access credentials.

Obtain information about the instance that you want to access

  • Region ID: The ID of the region in which the instance resides. For example, the region ID of China (Hangzhou) is cn-hangzhou.

  • Instance name and endpoint: Each Tablestore instance has an endpoint. You must specify the endpoint in your application to perform operations on tables and data. You can obtain the instance name and endpoint as follows.

    1. Log on to the Tablestore console.

    2. In the top navigation bar, select a resource group and a region.

    3. On the Overview page, click the instance alias or click Manage Instance in the Actions column.

    4. On the Instance Details tab, view the name and endpoint of the instance.

      Important

      By default, Internet access is disabled for new instances. To access resources in an instance over the Internet, you must enable Internet access for the instance.

Install Tablestore SDK for .NET

For more information, see Install Tablestore SDK for .NET.

Configure access credentials

You need to create an AccessKey for an Alibaba Cloud account or a RAM user and configure the AccessKey in the environment variables as follows.

Note

After you complete the configuration, restart or refresh your compilation and runtime environment, including IDEs, command-line interfaces, other desktop applications, and background services, to ensure that the latest system environment variables are loaded successfully. For more information about configuring access credentials, see Configure access credentials.

Linux

  1. Run the following commands in the command-line interface to append environment variable settings to the ~/.bashrc file.

    echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bashrc
    echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bashrc
  2. Run the following command to allow the changes to take effect:

    source ~/.bashrc
  3. Run the following commands to check whether the environment variables take effect:

    echo $TABLESTORE_ACCESS_KEY_ID
    echo $TABLESTORE_ACCESS_KEY_SECRET

macOS

  1. Run the following command in the terminal to check the default Shell type.

    echo $SHELL
  2. Perform operations based on the default Shell type.

    Zsh
    1. Run the following commands to append environment variable settings to the ~/.zshrc file.

      echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.zshrc
      echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.zshrc
    2. Run the following command to allow the changes to take effect:

      source ~/.zshrc
    3. Run the following commands to check whether the environment variables take effect:

      echo $TABLESTORE_ACCESS_KEY_ID
      echo $TABLESTORE_ACCESS_KEY_SECRET
    Bash
    1. Run the following commands to append environment variable settings to the ~/.bash_profile file.

      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. Run the following command to allow the changes to take effect:

      source ~/.bash_profile
    3. Run the following commands to check whether the environment variables take effect:

      echo $TABLESTORE_ACCESS_KEY_ID
      echo $TABLESTORE_ACCESS_KEY_SECRET

Windows

CMD
  1. Run the following commands in CMD to set environment variables.

    setx TABLESTORE_ACCESS_KEY_ID "YOUR_ACCESS_KEY_ID"
    setx TABLESTORE_ACCESS_KEY_SECRET "YOUR_ACCESS_KEY_SECRET"
  2. After restarting CMD, run the following commands to check whether the environment variables take effect:

    echo %TABLESTORE_ACCESS_KEY_ID%
    echo %TABLESTORE_ACCESS_KEY_SECRET%
PowerShell
  1. Run the following command in 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. Run the following commands to check whether the environment variables take effect:

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

Initialize a client

You must initialize a client and call the methods provided by the client to access Tablestore. Tablestore SDK for .NET provides a client for the Wide Column model.

Wide Column model

The following sample code provides an example on how to initialize a Tablestore client, query the list of data tables in an instance, and display the list in the Tablestore console:

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

namespace Aliyun.OTS.Samples
{
    public class Sample
    {
        public static void InitializeClient()
        {
            // Specify the endpoint of the instance.
            string endpoint = "yourEndpoint";
            // Specify the name of the instance.
            string instanceName = "yourInstanceName";
            // Obtain the AccessKey ID and AccessKey secret from the environment variables.
            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
            {
                // Initialize a Tablestore client.
                OTSClient client = new OTSClient(config);
                // Query the list of data tables in the instance and display the list in the Tablestore console.
                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);
            }
        }
    }
}

FAQ