ベクトルエンジンのテーブルに対して集約クエリを実行し、最大値、最小値、平均値、合計値、カウント値などのグループ化された統計を返します。
エンドポイント
POST /vector-service/aggregateプロトコル: HTTP 形式: JSON
注: 上記のエンドポイントでは、ホストとリクエストヘッダーの詳細は省略されています。 アプリケーションのホストを取得するには、[インスタンス詳細] > [API エンドポイント] に移動します。
認証
HTTP Basic認証を使用します。認証情報を username:password の形式でBase64エンコードし、その結果を authorization リクエストヘッダーに渡します。
認証情報パラメーター
| パラメーター | 型 | 説明 |
|---|---|---|
| accessUserName | String | ユーザー名。ユーザー名を表示するには、[インスタンス詳細] > [APIエンドポイント] に移動します。 |
| accessPassWord | String | パスワード。パスワードを変更するには、[インスタンス詳細] > [APIエンドポイント] に移動します。 |
認証値の生成
import com.aliyun.darabonba.encode.Encoder;
import com.aliyun.darabonbastring.Client;
public class GenerateAuthorization {
public static void main(String[] args) throws Exception {
String accessUserName = "username";
String accessPassWord = "password";
String realmStr = "" + accessUserName + ":" + accessPassWord + "";
String authorization = Encoder.base64EncodeToString(Client.toBytes(realmStr, "UTF-8"));
System.out.println(authorization);
}
}出力は、Base64エンコードされた認証値です。
cm9vdDp******mdhbA==リクエストヘッダーを設定する際に、Basic プレフィックスを追加します。
authorization: Basic cm9vdDp******mdhbA==リクエストボディ
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
| tableName | String | Yes | - | クエリを実行するテーブルの名前。 |
| filter | String | No | "" | フィルター条件。 |
| groupKeys | List[String] | No | [] | 結果をグループ化するフィールド。 |
| aggFuncs | List[AggFuncDesc] | Yes | - | 適用する集約関数。 |
| orderBy | List[OrderByDesc] | No | [] | 結果のソート順。複数フィールドのソートをサポートします。 |
| timeout | Integer | No | 10000 | リクエストのタイムアウト時間 (ミリ秒単位)。 |
AggFuncDesc
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
| name | String | No | "" | 結果セット内の集約値のフィールド名。デフォルトは FUNC_NAME(args) です。 |
| func | String | Yes | - | 集約関数。有効な値: max、min、avg、sum、count。 |
| args | List[String] | Yes | - | 集約関数の引数。 |
OrderByDesc
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
| field | String | Yes | - | ソートフィールド。結果セット内のフィールドである必要があります。 |
| direction | String | No | DESC | ソート方向。有効な値: DESC (降順)、ASC (昇順)。 |
レスポンスパラメーター
| パラメーター | 型 | 説明 |
|---|---|---|
| totalCount | Integer | 結果セット内の結果の数。 |
| coveredPercent | Float | 正常な結果を返したシャードの割合。 |
| result | List[Map] | 集約された結果。 |
| totalTime | Float | 集約にかかった処理時間 (ミリ秒単位)。 |
| errorCode | Integer | エラーコード。リクエストが失敗した場合にのみ返されます。 |
| errorMsg | String | エラーメッセージ。リクエストが失敗した場合にのみ返されます。 |
例
次の例は、max 集約を test1 テーブルの count フィールドに対して実行します。
リクエスト:
{
"aggFuncs": [
{
"args": ["count"],
"func": "max"
}
],
"tableName": "test1"
}レスポンス:
{
"totalCount": 1,
"result": [
{
"MAX(count)": 66
}
],
"totalTime": 3.286,
"coveredPercent": 1.0
}