SQL ステートメントを使用してデータをクエリします。
リクエスト構文
message SQLQueryRequest {
required string query = 1;
optional SQLPayloadVersion version = 2;
optional int64 sql_version = 3;
}
パラメーター | タイプ | 必須 | 説明 |
query | string | はい | SQL ステートメント。 |
version | いいえ | 返されるデータのエンコード形式。 | |
sql_version | int64 | いいえ | SQL プロトコルのバージョン。有効な値:
|
レスポンス構文
message SQLQueryResponse {
repeated TableConsumedCapacity consumes = 1;
optional bytes rows = 2;
optional SQLPayloadVersion version = 3;
optional SQLStatementType type = 4;
}
パラメーター | タイプ | 必須 | 説明 |
consumes | repeated TableConsumedCapacity | はい | 操作で消費されるキャパシティユニット (CU) の数。詳細については、CU 消費量を参照してください。 |
rows | bytes | いいえ | 返される行データ。値は指定した形式でエンコードされます。 |
version | はい | 返されるデータのエンコード形式。 | |
type | はい | SQL ステートメントのタイプ。 |
Tablestore SDK の使用
CU 消費量
SQL クエリ機能の使用に対して課金されることはありません。ただし、SQL クエリ機能を使用する場合、テーブルスキャンやインデックスベースのクエリなどの操作によって発生する料金が課金されます。
単一の SQL ステートメントを実行するときに消費される読み取りスループットは、テーブルとインデックスに対して特定の操作が実行されるときに消費される読み取りスループットの合計です。消費される読み取り CU の数は、次の式の計算結果から切り上げられます。消費される読み取り CU の数 = (行のすべてのプライマリキー列のデータサイズ + 読み取られる属性列のデータサイズ)/4 KB。
リクエストがタイムアウトし、結果が未定義の場合、CU が消費される場合とされない場合があります。
内部エラーが発生したことを示す HTTP ステータスコード 5xx が返された場合、操作は CU を消費しません。その他のエラーが返された場合は、1 つの読み取り CU が消費されます。