This is an automated email from the ASF dual-hosted git repository. hanahmily pushed a commit to branch topnagg in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git
commit 2648fd00e60c9d0cdc6f85d3f9301ef64e27911a Author: Gao Hongtao <hanahm...@gmail.com> AuthorDate: Thu Mar 14 09:45:47 2024 +0000 Add HTTP services to TopNAggregation operations Signed-off-by: Gao Hongtao <hanahm...@gmail.com> --- CHANGES.md | 1 + api/proto/banyandb/database/v1/rpc.proto | 27 ++++++++++++++++++++++----- banyand/liaison/http/server.go | 1 + docs/api-reference.md | 2 +- 4 files changed, 25 insertions(+), 6 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 8d2d91f8..c3df6733 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -20,6 +20,7 @@ Release Notes. - Data ingestion and retrieval. - Flush memory data to disk. - Merge memory data and disk data. +- Add HTTP services to TopNAggregation operations. ### Bugs diff --git a/api/proto/banyandb/database/v1/rpc.proto b/api/proto/banyandb/database/v1/rpc.proto index 09ffada3..a3429b7d 100644 --- a/api/proto/banyandb/database/v1/rpc.proto +++ b/api/proto/banyandb/database/v1/rpc.proto @@ -459,10 +459,27 @@ message TopNAggregationRegistryServiceExistResponse { } service TopNAggregationRegistryService { - rpc Create(TopNAggregationRegistryServiceCreateRequest) returns (TopNAggregationRegistryServiceCreateResponse); - rpc Update(TopNAggregationRegistryServiceUpdateRequest) returns (TopNAggregationRegistryServiceUpdateResponse); - rpc Delete(TopNAggregationRegistryServiceDeleteRequest) returns (TopNAggregationRegistryServiceDeleteResponse); - rpc Get(TopNAggregationRegistryServiceGetRequest) returns (TopNAggregationRegistryServiceGetResponse); - rpc List(TopNAggregationRegistryServiceListRequest) returns (TopNAggregationRegistryServiceListResponse); + rpc Create(TopNAggregationRegistryServiceCreateRequest) returns (TopNAggregationRegistryServiceCreateResponse) { + option (google.api.http) = { + post: "/v1/topn-agg/schema" + body: "*" + }; + } + rpc Update(TopNAggregationRegistryServiceUpdateRequest) returns (TopNAggregationRegistryServiceUpdateResponse) { + option (google.api.http) = { + put: "/v1/topn-agg/schema/{top_n_aggregation.metadata.group}/{top_n_aggregation.metadata.name}" + body: "*" + }; + } + rpc Delete(TopNAggregationRegistryServiceDeleteRequest) returns (TopNAggregationRegistryServiceDeleteResponse) { + option (google.api.http) = {delete: "/v1/topn-agg/schema/{metadata.group}/{metadata.name}"}; + } + rpc Get(TopNAggregationRegistryServiceGetRequest) returns (TopNAggregationRegistryServiceGetResponse) { + option (google.api.http) = {get: "/v1/topn-agg/schema/{metadata.group}/{metadata.name}"}; + } + rpc List(TopNAggregationRegistryServiceListRequest) returns (TopNAggregationRegistryServiceListResponse) { + option (google.api.http) = {get: "/v1/topn-agg/schema/lists/{group}"}; + } + // Exist doesn't expose an HTTP endpoint. Please use HEAD method to touch Get instead rpc Exist(TopNAggregationRegistryServiceExistRequest) returns (TopNAggregationRegistryServiceExistResponse); } diff --git a/banyand/liaison/http/server.go b/banyand/liaison/http/server.go index e51cf77b..f1b10053 100644 --- a/banyand/liaison/http/server.go +++ b/banyand/liaison/http/server.go @@ -176,6 +176,7 @@ func (p *server) Serve() run.StopNotify { databasev1.RegisterIndexRuleRegistryServiceHandlerFromEndpoint(ctx, gwMux, p.grpcAddr, opts), databasev1.RegisterIndexRuleBindingRegistryServiceHandlerFromEndpoint(ctx, gwMux, p.grpcAddr, opts), databasev1.RegisterGroupRegistryServiceHandlerFromEndpoint(ctx, gwMux, p.grpcAddr, opts), + databasev1.RegisterTopNAggregationRegistryServiceHandlerFromEndpoint(ctx, gwMux, p.grpcAddr, opts), streamv1.RegisterStreamServiceHandlerFromEndpoint(ctx, gwMux, p.grpcAddr, opts), measurev1.RegisterMeasureServiceHandlerFromEndpoint(ctx, gwMux, p.grpcAddr, opts), propertyv1.RegisterPropertyServiceHandlerFromEndpoint(ctx, gwMux, p.grpcAddr, opts), diff --git a/docs/api-reference.md b/docs/api-reference.md index 0d7875e7..f61a6f80 100644 --- a/docs/api-reference.md +++ b/docs/api-reference.md @@ -2282,7 +2282,7 @@ Type determine the index structure under the hood | Delete | [TopNAggregationRegistryServiceDeleteRequest](#banyandb-database-v1-TopNAggregationRegistryServiceDeleteRequest) | [TopNAggregationRegistryServiceDeleteResponse](#banyandb-database-v1-TopNAggregationRegistryServiceDeleteResponse) | | | Get | [TopNAggregationRegistryServiceGetRequest](#banyandb-database-v1-TopNAggregationRegistryServiceGetRequest) | [TopNAggregationRegistryServiceGetResponse](#banyandb-database-v1-TopNAggregationRegistryServiceGetResponse) | | | List | [TopNAggregationRegistryServiceListRequest](#banyandb-database-v1-TopNAggregationRegistryServiceListRequest) | [TopNAggregationRegistryServiceListResponse](#banyandb-database-v1-TopNAggregationRegistryServiceListResponse) | | -| Exist | [TopNAggregationRegistryServiceExistRequest](#banyandb-database-v1-TopNAggregationRegistryServiceExistRequest) | [TopNAggregationRegistryServiceExistResponse](#banyandb-database-v1-TopNAggregationRegistryServiceExistResponse) | | +| Exist | [TopNAggregationRegistryServiceExistRequest](#banyandb-database-v1-TopNAggregationRegistryServiceExistRequest) | [TopNAggregationRegistryServiceExistResponse](#banyandb-database-v1-TopNAggregationRegistryServiceExistResponse) | Exist doesn't expose an HTTP endpoint. Please use HEAD method to touch Get instead |