xref: /aosp_15_r20/external/googleapis/google/cloud/retail/v2beta/export_config.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1// Copyright 2021 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto3";
16
17package google.cloud.retail.v2beta;
18
19import "google/api/field_behavior.proto";
20import "google/api/resource.proto";
21import "google/protobuf/timestamp.proto";
22import "google/rpc/status.proto";
23
24option csharp_namespace = "Google.Cloud.Retail.V2Beta";
25option go_package = "cloud.google.com/go/retail/apiv2beta/retailpb;retailpb";
26option java_multiple_files = true;
27option java_outer_classname = "ExportConfigProto";
28option java_package = "com.google.cloud.retail.v2beta";
29option objc_class_prefix = "RETAIL";
30option php_namespace = "Google\\Cloud\\Retail\\V2beta";
31option ruby_package = "Google::Cloud::Retail::V2beta";
32
33// The output configuration setting.
34message OutputConfig {
35  // The Google Cloud Storage output destination configuration.
36  message GcsDestination {
37    // Required. The output uri prefix for saving output data to json files.
38    // Some mapping examples are as follows:
39    // output_uri_prefix         sample output(assuming the object is foo.json)
40    // ========================  =============================================
41    // gs://bucket/              gs://bucket/foo.json
42    // gs://bucket/folder/       gs://bucket/folder/foo.json
43    // gs://bucket/folder/item_  gs://bucket/folder/item_foo.json
44    string output_uri_prefix = 1 [(google.api.field_behavior) = REQUIRED];
45  }
46
47  // The BigQuery output destination configuration.
48  message BigQueryDestination {
49    // Required. The ID of a BigQuery Dataset.
50    string dataset_id = 1 [(google.api.field_behavior) = REQUIRED];
51
52    // Required. The prefix of exported BigQuery tables.
53    string table_id_prefix = 2 [(google.api.field_behavior) = REQUIRED];
54
55    // Required. Describes the table type. The following values are supported:
56    //
57    // * `table`: A BigQuery native table.
58    // * `view`: A virtual table defined by a SQL query.
59    string table_type = 3 [(google.api.field_behavior) = REQUIRED];
60  }
61
62  // The configuration of destination for holding output data.
63  oneof destination {
64    // The Google Cloud Storage location where the output is to be written to.
65    GcsDestination gcs_destination = 1;
66
67    // The BigQuery location where the output is to be written to.
68    BigQueryDestination bigquery_destination = 2;
69  }
70}
71
72// Configuration of destination for Export related errors.
73message ExportErrorsConfig {
74  // Required. Errors destination.
75  oneof destination {
76    // Google Cloud Storage path for import errors. This must be an empty,
77    // existing Cloud Storage bucket. Export errors will be written to a file in
78    // this bucket, one per line, as a JSON-encoded
79    // `google.rpc.Status` message.
80    string gcs_prefix = 1;
81  }
82}
83
84// Request message for the `ExportAnalyticsMetrics` method.
85message ExportAnalyticsMetricsRequest {
86  // Required. Full resource name of the parent catalog.
87  // Expected format: `projects/*/locations/*/catalogs/*`
88  string catalog = 1 [(google.api.field_behavior) = REQUIRED];
89
90  // Required. The output location of the data.
91  OutputConfig output_config = 2 [(google.api.field_behavior) = REQUIRED];
92
93  // A filtering expression to specify restrictions on returned metrics.
94  // The expression is a sequence of terms. Each term applies a restriction to
95  // the returned metrics. Use this expression to restrict results to a
96  // specific time range.
97  //
98  //   Currently we expect only one types of fields:
99  //
100  //    * `timestamp`: This can be specified twice, once with a
101  //      less than operator and once with a greater than operator. The
102  //      `timestamp` restriction should result in one, contiguous, valid,
103  //      `timestamp` range.
104  //
105  //   Some examples of valid filters expressions:
106  //
107  //   * Example 1: `timestamp > "2012-04-23T18:25:43.511Z"
108  //             timestamp < "2012-04-23T18:30:43.511Z"`
109  //   * Example 2: `timestamp > "2012-04-23T18:25:43.511Z"`
110  string filter = 3;
111}
112
113// Metadata related to the progress of the Export operation. This is
114// returned by the google.longrunning.Operation.metadata field.
115message ExportMetadata {
116  // Operation create time.
117  google.protobuf.Timestamp create_time = 1;
118
119  // Operation last update time. If the operation is done, this is also the
120  // finish time.
121  google.protobuf.Timestamp update_time = 2;
122}
123
124// Response of the ExportProductsRequest. If the long running
125// operation is done, then this message is returned by the
126// google.longrunning.Operations.response field if the operation was successful.
127message ExportProductsResponse {
128  // A sample of errors encountered while processing the request.
129  repeated google.rpc.Status error_samples = 1;
130
131  // This field is never set.
132  ExportErrorsConfig errors_config = 2;
133
134  // Output result indicating where the data were exported to.
135  OutputResult output_result = 3;
136}
137
138// Response of the ExportUserEventsRequest. If the long running
139// operation was successful, then this message is returned by the
140// google.longrunning.Operations.response field if the operation was successful.
141message ExportUserEventsResponse {
142  // A sample of errors encountered while processing the request.
143  repeated google.rpc.Status error_samples = 1;
144
145  // This field is never set.
146  ExportErrorsConfig errors_config = 2;
147
148  // Output result indicating where the data were exported to.
149  OutputResult output_result = 3;
150}
151
152// Response of the ExportAnalyticsMetricsRequest. If the long running
153// operation was successful, then this message is returned by the
154// google.longrunning.Operations.response field if the operation was successful.
155message ExportAnalyticsMetricsResponse {
156  // A sample of errors encountered while processing the request.
157  repeated google.rpc.Status error_samples = 1;
158
159  // This field is never set.
160  ExportErrorsConfig errors_config = 2;
161
162  // Output result indicating where the data were exported to.
163  OutputResult output_result = 3;
164}
165
166// Output result that stores the information about where the exported data is
167// stored.
168message OutputResult {
169  // The BigQuery location where the result is stored.
170  repeated BigQueryOutputResult bigquery_result = 1;
171
172  // The Google Cloud Storage location where the result is stored.
173  repeated GcsOutputResult gcs_result = 2;
174}
175
176// A BigQuery output result.
177message BigQueryOutputResult {
178  // The ID of a BigQuery Dataset.
179  string dataset_id = 1;
180
181  // The ID of a BigQuery Table.
182  string table_id = 2;
183}
184
185// A Gcs output result.
186message GcsOutputResult {
187  // The uri of Gcs output
188  string output_uri = 1;
189}
190