Tablestore クライアントは、Tablestore のテーブルとデータに対する操作を実行するためのさまざまなメソッドを提供します。このトピックでは、Tablestore SDK for Python を使用して Tablestore クライアントを初期化する方法について説明します。
このトピックでは、Alibaba Cloud アカウントの AccessKey ペアを例として使用します。他の認証情報を使用してクライアントを初期化する方法については、「RAM ユーザーの AccessKey ペアを使用して Tablestore にアクセスする」および「STS の一時的なアクセス認証情報を使用して Tablestore にアクセスする」をご参照ください。
準備
Tablestore クライアントを初期化する前に、インスタンス情報を取得し、Tablestore SDK をインストールし、アクセス認証情報を構成します。
アクセスするインスタンスに関する情報の取得
リージョン ID: インスタンスのリージョン ID です。たとえば、中国 (杭州) のリージョン ID は cn-hangzhou です。
インスタンス名とエンドポイント: 各 Tablestore インスタンスには一意のエンドポイントがあります。アプリケーションは、テーブルとデータに対する操作を実行するためにエンドポイントを指定する必要があります。エンドポイントを取得するには、次の手順を実行します。
Tablestore コンソールにログインします。
上部のナビゲーションバーで、リソースグループとリージョンを選択します。
[概要] ページで、インスタンスのエイリアスをクリックするか、[アクション] 列の [インスタンスの管理] をクリックします。
[インスタンス詳細] タブで、インスタンス名とエンドポイントを表示します。
重要デフォルトでは、新しいインスタンスではインターネットアクセスが無効になっています。インターネット経由でインスタンス内のリソースにアクセスするには、インスタンスのインターネットアクセスを有効にする必要があります。
Tablestore SDK for Python のインストール
次のコマンドを実行して、pip を使用して Tablestore SDK for Python をインストールします。
sudo pip install tablestore詳細については、「Tablestore SDK for Python のインストール」をご参照ください。
アクセス認証情報の構成
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
ターミナルで次のコマンドを実行して、デフォルトのシェルタイプを確認します。
echo $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 Python は OTSClient を提供します。
HTTPS 経由で Tablestore リソースにアクセスする場合は、Tablestore SDK for Python V6.x.x を使用し、OpenSSL のバージョンが 0.9.8j 以降であることを確認することをお勧めします。OpenSSL 1.0.2d の使用を推奨します。
Tablestore SDK for Python のリリースパッケージには、直接インストールして使用できる certifi パッケージが含まれています。ルート証明書を更新するには、certifi の公式サイトから最新のルート証明書をダウンロードしてください。
Wide Column モデル
次のサンプルコードは、クライアントを初期化し、インスタンス内のデータテーブルのリストをクエリし、そのリストをコンソールに表示する方法の例を示しています。
# -*- coding: utf-8 -*-
import os
from tablestore import OTSClient
# インスタンスの名前を指定します。
instance_name = "yourInstanceName"
# インスタンスのエンドポイントを指定します。
endpoint = "yourEndpoint"
# 環境変数から AccessKey ID と AccessKey Secret を取得します。
access_key_id = os.getenv("TABLESTORE_ACCESS_KEY_ID")
access_key_secret = os.getenv("TABLESTORE_ACCESS_KEY_SECRET")
# Tablestore クライアントを初期化します
client = OTSClient(endpoint, access_key_id, access_key_secret, instance_name)
# インスタンス内のデータテーブルのリストをクエリし、そのリストをコンソールに表示します
resp = client.list_table()
for table_name in resp:
print(table_name)時系列モデル
次のサンプルコードは、クライアントを初期化し、インスタンス内の時系列テーブルのリストをクエリし、そのリストをコンソールに表示する方法の例を示しています。
# -*- coding: utf-8 -*-
import os
from tablestore import OTSClient
# インスタンスの名前を指定します。
instance_name = "yourInstanceName"
# インスタンスのエンドポイントを指定します。
endpoint = "yourEndpoint"
# 環境変数から AccessKey ID と AccessKey Secret を取得します。
access_key_id = os.getenv("TABLESTORE_ACCESS_KEY_ID")
access_key_secret = os.getenv("TABLESTORE_ACCESS_KEY_SECRET")
# Tablestore クライアントを初期化します
client = OTSClient(endpoint, access_key_id, access_key_secret, instance_name)
# インスタンス内の時系列テーブルのリストをクエリし、そのリストをコンソールに表示します
response = client.list_timeseries_table()
for tableMeta in response:
print(tableMeta.timeseries_table_name)また、認証情報ツールを使用してアクセス認証情報を読み取ることもできます。
よくある質問
付録: 認証情報ツールを使用したアクセス認証情報の読み取り
次のコマンドを実行して、alibabacloud_credentials パッケージをインストールします。
pip install alibabacloud_credentials環境変数を構成します。
Alibaba Cloud アカウントの AccessKey ID には
ALIBABA_CLOUD_ACCESS_KEY_ID環境変数を、Alibaba Cloud アカウントの AccessKey シークレットにはALIBABA_CLOUD_ACCESS_KEY_SECRET環境変数を構成します。アクセス認証情報を読み取ります。
次のサンプルコードは、認証情報ツールを使用して環境変数からアクセス認証情報を読み取る方法の例を示しています。
# -*- coding: utf-8 -*- from alibabacloud_credentials.client import Client as CredClient # CredClient を使用して、環境変数から AccessKey ID と AccessKey Secret を取得します。 cred = CredClient() access_key_id = cred.get_credential().access_key_id access_key_secret = cred.get_credential().access_key_secret