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