Tablestore クライアントは Tablestore 用のクライアントであり、Tablestore のテーブルとデータに対する操作を実行するために使用できるさまざまなメソッドを提供します。このトピックでは、Tablestore SDK for Go を使用して Tablestore クライアントを初期化する方法について説明します。
このトピックでは、Alibaba Cloud アカウントの AccessKey ペアを例として使用します。他の認証情報を使用してクライアントを初期化するには、「RAM ユーザーの AccessKey ペアを使用して Tablestore にアクセスする」および「STS の一時的なアクセス認証情報を使用して Tablestore にアクセスする」をご参照ください。
準備
Tablestore クライアントを初期化する前に、インスタンス情報を取得し、Tablestore SDK をインストールし、アクセス認証情報を構成します。
アクセスするインスタンスに関する情報の取得
リージョン ID: インスタンスのリージョン ID。 たとえば、中国 (杭州) のリージョン ID は cn-hangzhou です。
インスタンス名と エンドポイント: 各 Tablestore インスタンスには一意のエンドポイントがあります。アプリケーションは、テーブルとデータに対する操作を実行するためにエンドポイントを指定する必要があります。エンドポイントを取得するには、次の操作を実行します。
Tablestore コンソールにログインします。
上部のナビゲーションバーで、リソースグループとリージョンを選択します。
[概要] ページで、インスタンスのエイリアスをクリックするか、[アクション] 列の [インスタンスの管理] をクリックします。
[インスタンス詳細] タブで、インスタンス名とエンドポイントを表示します。
重要デフォルトでは、新しいインスタンスではインターネットアクセスが無効になっています。インターネット経由でインスタンス内のリソースにアクセスするには、インスタンスのインターネットアクセスを有効にする必要があります。
Tablestore SDK for Go のインストール
プロジェクトディレクトリで go mod init <DIRNAME> コマンドを実行して go.mod ファイルを生成します。次に、次のコマンドを実行して Tablestore SDK for Go をインストールします。
<DIRNAME> はプロジェクトディレクトリのパスを示します。<DIRNAME> を実際のプロジェクトディレクトリのパスに置き換えてください。
go get github.com/aliyun/aliyun-tablestore-go-sdk/tablestoreTablestore SDK のインストールの詳細については、「Tablestore SDK のインストール」をご参照ください。
アクセス認証情報の構成
Alibaba Cloud アカウントまたは RAM ユーザーの 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)
クライアントの初期化
クライアントを初期化し、クライアントが提供するメソッドを呼び出して Tablestore にアクセスする必要があります。Tablestore SDK for Go は、Wide Column モデルと時系列モデル用のクライアントを提供します。
Wide Column モデル
次のサンプルコードは、クライアントを初期化し、インスタンス内のデータテーブルのリストをクエリし、そのリストをコンソールに表示する方法の例を示しています。
package main
import (
"fmt"
"os"
"github.com/aliyun/aliyun-tablestore-go-sdk/tablestore"
)
func main() {
// インスタンスの名前を指定します。
instanceName := "yourInstanceName"
// インスタンスのエンドポイントを指定します。
endpoint := "yourEndpoint"
// 環境変数から AccessKey ID と AccessKey secret を取得します。
accessKeyId := os.Getenv("TABLESTORE_ACCESS_KEY_ID")
accessKeySecret := os.Getenv("TABLESTORE_ACCESS_KEY_SECRET")
// Tablestore クライアントを初期化します。
client := tablestore.NewClient(endpoint, instanceName, accessKeyId, accessKeySecret)
// インスタンス内のデータテーブルのリストをクエリし、そのリストをコンソールに表示します。
tables, err := client.ListTable()
if err != nil {
fmt.Println("Failed to list table")
} else {
for _, table := range (tables.TableNames) {
fmt.Println(table)
}
}
}時系列モデル
次のサンプルコードは、クライアントを初期化し、インスタンス内の時系列テーブルのリストをクエリし、そのリストをコンソールに表示する方法の例を示しています。
package main
import (
"fmt"
"os"
"github.com/aliyun/aliyun-tablestore-go-sdk/tablestore"
)
func main() {
// インスタンスの名前を指定します。
instanceName := "yourInstanceName"
// インスタンスのエンドポイントを指定します。
endpoint := "yourEndpoint"
// 環境変数から AccessKey ID と AccessKey secret を取得します。
accessKeyId := os.Getenv("TABLESTORE_ACCESS_KEY_ID")
accessKeySecret := os.Getenv("TABLESTORE_ACCESS_KEY_SECRET")
// Tablestore クライアントを初期化します。
client := tablestore.NewTimeseriesClient(endpoint, instanceName, accessKeyId, accessKeySecret)
// インスタンス内の時系列テーブルのリストをクエリし、そのリストをコンソールに表示します。
timeseriesTables, err := client.ListTimeseriesTable()
if err != nil {
fmt.Println("Failed to list table")
} else {
for _, timeseriesTablesMeta := range (timeseriesTables.GetTimeseriesTableMeta()) {
fmt.Println(timeseriesTablesMeta.GetTimeseriesTableName())
}
}
}