Tablestoreコンソール、Tablestore CLI、または Tablestore SDK を使用して、TablestoreTablestore にアクセスできます。 の時系列モデルを Tablestore CLI で使用するには、お使いのオペレーティングシステムに基づいて Tablestore CLI パッケージをダウンロードする必要があります。Tablestore CLI パッケージをダウンロードして解凍した後、Tablestore CLI を使用して Tablestore を有効化し、時系列モデルのインスタンスを作成し、インスタンスのアクセス情報を構成し、時系列テーブルを作成し、テーブルからデータを読み書きし、SQL を使用してデータをクエリできます。
前提条件
Tablestore にログオンするために使用する阿里云アカウントまたは RAM ユーザーのログオン情報を取得します。
Alibaba Cloud アカウント をまだ作成していない場合は、Alibaba Cloud 公式 Web サイトで作成してください。
RAM ユーザーとして Tablestore を使用するには、Alibaba Cloud アカウントを使用して RAM ユーザーを作成し、Tablestore にアクセスするための権限を RAM ユーザーに付与する必要があります。詳細については、RAM ポリシーを使用して RAM ユーザーに権限を付与する を参照してください。
注意事項
時系列モデルは、中国 (杭州)、中国 (上海)、中国 (北京)、中国 (張家口)、中国 (ウランチャブ)、中国 (深セン)、中国 (成都)、中国 (香港)、日本 (東京)、マレーシア (クアラルンプール)、ドイツ (フランクフルト)、インドネシア (ジャカルタ)、英国 (ロンドン)、米国 (シリコンバレー)、米国 (バージニア)、サウジアラビア (リヤド - パートナーリージョン)、シンガポール の各リージョンでサポートされています。
Tablestore CLI を使用して作成できるのは、オンデマンドモードの高性能インスタンスのみです。オンデマンドモードで容量インスタンスを作成するには、Tablestore コンソールを使用します。詳細については、手順 2: インスタンスを作成する または 時系列モデルのインスタンスを作成する を参照してください。
手順 1: Tablestore CLI をダウンロードして起動する
お使いのオペレーティングシステムに基づいて、Tablestore CLI パッケージをダウンロードします。
オペレーティングシステム
ダウンロードリンク
Windows
Linux
macOS
ダウンロードした Tablestore CLI パッケージを解凍します。パッケージのルートディレクトリに移動し、お使いのオペレーティングシステムに基づいて Tablestore CLI を起動するために使用される方法を選択します。
Windows の場合、ts.exe ファイルをダブルクリックします。
Linux および macOS の場合、
./ts
コマンドを実行します。
説明Linux または macOS でコマンドを実行するために必要な権限がない場合は、
chmod 755 ts
コマンドを実行して権限を取得してから、コマンドを実行して Tablestore CLI を起動します。macOS で
"ts" cannot be opened because Apple cannot check it for malicious software
というメッセージが表示された場合は、macOS の [プライバシーとセキュリティ] 設定でts
コマンドの実行を許可する必要があります。起動時に次の情報が表示されます。
# Welcome to use Command Line Tool for Aliyun Tablestore. Current Version is '2021-11-11'. # _______ _ _ _ # |__ __| | | | | | | # | | __ _ | |__ | | ___ ___ | |_ ___ _ __ ___ # | | / _' || '_ \ | | / _ \ / __|| __| / _ \ | '__| / _ \ # | || (_| || |_) || || __/ \__ \| |_ | (_) || | | __/ # |_| \__,_||_.__/ |_| \___| |___/ \__| \___/ |_| \___| # # Please visit our product website: https://www.aliyun.com/product/ots # You can also join our DingTalk Chat Group (ID: 11789671 or 23307953) to discuss and ask Tablestore related questions. # tablestore>
手順 2: Tablestore を有効化する
Tablestore の機能を使用する前に、Tablestore を有効化する必要があります。Tablestore を既に有効化している場合は、再度有効化する必要はありません。Tablestore の有効化は 1 回だけ行う必要があります。Tablestore を有効化しても課金されません。
config コマンドを実行して、AccessKey ペア情報を構成します。詳細については、Tablestore CLI を起動し、アクセス情報を構成する を参照してください。
重要阿里云アカウントの AccessKey ID と AccessKey シークレットで構成される AccessKey ペアが必要です。AccessKey ペアの取得方法については、AccessKey ペアを取得する を参照してください。
config --id NTSVLeBHzgX2i************ --key 7NR2DiotscDbauohSq9kSHX8BDp9****************
enable_service
コマンドを実行して、Tablestore を有効化します。
手順 3: インスタンスを作成する
create_instance コマンドを実行して、高性能インスタンスを作成します。詳細については、インスタンス操作 を参照してください。
次のサンプルコードは、中国 (杭州) リージョンに myinstance という名前の高性能インスタンスを作成する方法を示しています。
create_instance -d "First instance created by CLI." -n myinstance -r cn-hangzhou
手順 4: アクセス情報を構成する
config コマンドを実行して、アクセス情報を構成します。詳細については、Tablestore CLI を起動し、アクセス情報を構成する を参照してください。
次のサンプルコードは、myinstance という名前のインスタンスのアクセス情報を構成する方法を示しています。
config --endpoint https://myinstance.cn-hangzhou.ots.aliyuncs.com --instance myinstance --id NTSVLeBHzgX2iZfcaXXPJ**** --key 7NR2DiotscDbauohSq9kSHX8BDp99bjs7eNpCR7o****
手順 5: 時系列テーブルを作成して使用する
時系列テーブルを作成した後、使用するテーブルとして時系列テーブルを選択できます。その後、テーブルまたはテーブル内のデータを管理できます。
次のコマンドを実行して、mytable という名前の時系列テーブルを作成します。
create -m timeseries -t mytable --ttl -1
use --ts -t mytable
コマンドを実行して、mytable という名前の時系列テーブルを使用します。
手順 6: データに対する操作を実行する
ビジネス要件に基づいてデータに対する操作を実行します。時系列データの書き込み、時系列データのインポート、時系列データのクエリ、時系列の取得、時系列のスキャン、時系列の更新を実行できます。
時系列データをインポートする
次のサンプルコードは、import_timeseries.txt ファイルから時系列テーブルに時系列データをインポートする方法の例を示しています。
import_timeseries --input /temp/import_timeseries.txt
import_timeseries.txt ファイルのサンプル構成:
cpu,hostname=host_0,region=cn-hangzhou usage_user=58i,usage_system=2i,usage_idle=24i 1609459200000000000 cpu,hostname=host_1,region=cn-hangzhou usage_user=58i,usage_system=2i,usage_idle=24i 1609459200000000000
時系列データをクエリする
次のサンプルコードは、メトリック名が cpu、データソースが host_0、タグが hostname=host_0 および region=cn-hangzhou である時系列で、1667638230000000 より前に生成された時系列データをクエリする方法の例を示しています。
getts --k '["cpu","host_0",["hostname=host_0","region=cn-hangzhou"]]' --time_start 0 --time_end 1667638230000000 --limit 100
時系列を取得する
次のサンプルコードは、メトリック名が cpu、データソースが host_0 である時系列を取得する方法の例を示しています。
query_ts_meta --measurement cpu --datasource host_0 --limit 10
時系列をスキャンする
query_ts_meta --limit 10
時系列を更新する
次のサンプルコードは、時系列の属性を hostname=host_1 および region=cn-hangzhou に更新する方法の例を示しています。
update_ts_meta --k '["cpu","host_1",["hostname=host_1","region=cn-hangzhou"]]' --attrs '["hostname=host_1","region=cn-hangzhou"]'
手順 7: SQL を使用してデータをクエリする
SQL ステートメントを使用してテーブル内のデータをすばやくクエリするには、次の手順を実行します。
sql
コマンドを実行して、SQL モードに入ります。ビジネス要件に基づいて mytable テーブル内のデータをクエリします。
時系列をクエリするには、時系列メタデータのマッピングテーブルを選択し、SELECT ステートメントを実行します。
たとえば、時系列メタデータのマッピングテーブル
mytable::meta
を使用して、メトリック名が cpu である時系列をクエリする場合、次の SQL ステートメントを実行します。SELECT * FROM `mytable::meta` WHERE _m_name = "cpu" LIMIT 100;
単一値モデルのマッピングテーブルを使用して時系列データをクエリするには、単一値モデルのマッピングテーブルを選択し、SELECT ステートメントを実行して、クエリ条件を満たす時系列データをクエリします。
たとえば、単一値モデルのマッピングテーブル
mytable
を使用して、メトリック名が cpu であるデータをクエリする場合、次の SQL ステートメントを実行します。SELECT * FROM mytable WHERE _m_name = "cpu" LIMIT 10;
複数値モデルのマッピングテーブルを使用して時系列データをクエリするには、複数値モデルのマッピングテーブルを作成し、SELECT ステートメントを実行して、クエリ条件を満たす時系列データをクエリします。
たとえば、複数値モデルのマッピングテーブル
mytable::muti_model
を使用して、usage_idle メトリックが 20 より大きいデータをクエリする場合、次の SQL ステートメントを実行します。SELECT usage_idle,usage_user,usage_system FROM `mytable::muti_model1` WHERE usage_idle > 20 LIMIT 10;
SQL モードを終了するには、exit;
コマンドを実行します。
関連情報
Tablestore コンソールを使用して時系列モデルを使い始めることもできます。詳細については、Tablestore コンソールで時系列モデルを使用する を参照してください。
実際のビジネスシナリオにおける時系列モデルの使用制限と手順の詳細については、概要 および Tablestore SDK を使用して時系列モデルを使用する を参照してください。ビジネス特性に基づいて費用対効果の高い課金方法を選択する方法の詳細については、課金概要 を参照してください。
Tablestore CLI で時系列モデルに対して実行できる操作の詳細については、次のトピックを参照してください。時系列テーブルに対する操作、時系列データに対する操作、SQL クエリ、オプションの表示。