grpc 第三方依赖 就是grpc的 third_party 文件夹
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

162 lines
6.0 KiB

// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package google.cloud.dataqna.v1alpha;
import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/cloud/dataqna/v1alpha/question.proto";
import "google/cloud/dataqna/v1alpha/user_feedback.proto";
import "google/protobuf/field_mask.proto";
option csharp_namespace = "Google.Cloud.DataQnA.V1Alpha";
option go_package = "google.golang.org/genproto/googleapis/cloud/dataqna/v1alpha;dataqna";
option java_multiple_files = true;
option java_outer_classname = "QuestionServiceProto";
option java_package = "com.google.cloud.dataqna.v1alpha";
option php_namespace = "Google\\Cloud\\DataQnA\\V1alpha";
option ruby_package = "Google::Cloud::DataQnA::V1alpha";
// Service to interpret natural language queries.
// The service allows to create `Question` resources that are interpreted and
// are filled with one or more interpretations if the question could be
// interpreted. Once a `Question` resource is created and has at least one
// interpretation, an interpretation can be chosen for execution, which
// triggers a query to the backend (for BigQuery, it will create a job).
// Upon successful execution of that interpretation, backend specific
// information will be returned so that the client can retrieve the results
// from the backend.
//
// The `Question` resources are named `projects/*/locations/*/questions/*`.
//
// The `Question` resource has a singletion sub-resource `UserFeedback` named
// `projects/*/locations/*/questions/*/userFeedback`, which allows access to
// user feedback.
service QuestionService {
option (google.api.default_host) = "dataqna.googleapis.com";
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
// Gets a previously created question.
rpc GetQuestion(GetQuestionRequest) returns (Question) {
option (google.api.http) = {
get: "/v1alpha/{name=projects/*/locations/*/questions/*}"
};
option (google.api.method_signature) = "name";
}
// Creates a question.
rpc CreateQuestion(CreateQuestionRequest) returns (Question) {
option (google.api.http) = {
post: "/v1alpha/{parent=projects/*/locations/*}/questions"
body: "question"
};
option (google.api.method_signature) = "parent,question";
}
// Executes an interpretation.
rpc ExecuteQuestion(ExecuteQuestionRequest) returns (Question) {
option (google.api.http) = {
post: "/v1alpha/{name=projects/*/locations/*/questions/*}:execute"
body: "*"
};
option (google.api.method_signature) = "name,interpretation_index";
}
// Gets previously created user feedback.
rpc GetUserFeedback(GetUserFeedbackRequest) returns (UserFeedback) {
option (google.api.http) = {
get: "/v1alpha/{name=projects/*/locations/*/questions/*/userFeedback}"
};
option (google.api.method_signature) = "name";
}
// Updates user feedback. This creates user feedback if there was none before
// (upsert).
rpc UpdateUserFeedback(UpdateUserFeedbackRequest) returns (UserFeedback) {
option (google.api.http) = {
patch: "/v1alpha/{user_feedback.name=projects/*/locations/*/questions/*/userFeedback}"
body: "user_feedback"
};
option (google.api.method_signature) = "user_feedback,update_mask";
}
}
// A request to get a previously created question.
message GetQuestionRequest {
// Required. The unique identifier for the question.
// Example: `projects/foo/locations/bar/questions/1234`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataqna.googleapis.com/Question"
}
];
// The list of fields to be retrieved.
google.protobuf.FieldMask read_mask = 2;
}
// Request to create a question resource.
message CreateQuestionRequest {
// Required. The name of the project this data source reference belongs to.
// Example: `projects/foo/locations/bar`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "locations.googleapis.com/Location"
}
];
// Required. The question to create.
Question question = 2 [(google.api.field_behavior) = REQUIRED];
}
// Request to execute an interpretation.
message ExecuteQuestionRequest {
// Required. The unique identifier for the question.
// Example: `projects/foo/locations/bar/questions/1234`
string name = 1 [(google.api.field_behavior) = REQUIRED];
// Required. Index of the interpretation to execute.
int32 interpretation_index = 2 [(google.api.field_behavior) = REQUIRED];
}
// Request to get user feedback.
message GetUserFeedbackRequest {
// Required. The unique identifier for the user feedback.
// User feedback is a singleton resource on a Question.
// Example: `projects/foo/locations/bar/questions/1234/userFeedback`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataqna.googleapis.com/UserFeedback"
}
];
}
// Request to updates user feedback.
message UpdateUserFeedbackRequest {
// Required. The user feedback to update. This can be called even if there is no
// user feedback so far.
// The feedback's name field is used to identify the user feedback (and the
// corresponding question) to update.
UserFeedback user_feedback = 1 [(google.api.field_behavior) = REQUIRED];
// The list of fields to be updated.
google.protobuf.FieldMask update_mask = 2;
}