Repository navigation
Expand file tree
/
Copy pathBigQuerySource.php
More file actions
322 lines (296 loc) · 11.4 KB
/
Copy pathBigQuerySource.php
File metadata and controls
322 lines (296 loc) · 11.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/cloud/retail/v2/import_config.proto
namespace Google\Cloud\Retail\V2;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* BigQuery source import data from.
*
* Generated from protobuf message <code>google.cloud.retail.v2.BigQuerySource</code>
*/
class BigQuerySource extends \Google\Protobuf\Internal\Message
{
/**
* The project ID (can be project # or ID) that the BigQuery source is in with
* a length limit of 128 characters. If not specified, inherits the project
* ID from the parent request.
*
* Generated from protobuf field <code>string project_id = 5;</code>
*/
private $project_id = '';
/**
* Required. The BigQuery data set to copy the data from with a length limit
* of 1,024 characters.
*
* Generated from protobuf field <code>string dataset_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
*/
private $dataset_id = '';
/**
* Required. The BigQuery table to copy the data from with a length limit of
* 1,024 characters.
*
* Generated from protobuf field <code>string table_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
*/
private $table_id = '';
/**
* Intermediate Cloud Storage directory used for the import with a length
* limit of 2,000 characters. Can be specified if one wants to have the
* BigQuery export to a specific Cloud Storage directory.
*
* Generated from protobuf field <code>string gcs_staging_dir = 3;</code>
*/
private $gcs_staging_dir = '';
/**
* The schema to use when parsing the data from the source.
* Supported values for product imports:
* * `product` (default): One JSON [Product][google.cloud.retail.v2.Product]
* per line. Each product must
* have a valid [Product.id][google.cloud.retail.v2.Product.id].
* * `product_merchant_center`: See [Importing catalog data from Merchant
* Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc).
* Supported values for user events imports:
* * `user_event` (default): One JSON
* [UserEvent][google.cloud.retail.v2.UserEvent] per line.
* * `user_event_ga360`: Using
* https://support.google.com/analytics/answer/3437719.
*
* Generated from protobuf field <code>string data_schema = 4;</code>
*/
private $data_schema = '';
protected $partition;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Google\Type\Date $partition_date
* BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format.
* Only supported when
* [ImportProductsRequest.reconciliation_mode][google.cloud.retail.v2.ImportProductsRequest.reconciliation_mode]
* is set to `FULL`.
* @type string $project_id
* The project ID (can be project # or ID) that the BigQuery source is in with
* a length limit of 128 characters. If not specified, inherits the project
* ID from the parent request.
* @type string $dataset_id
* Required. The BigQuery data set to copy the data from with a length limit
* of 1,024 characters.
* @type string $table_id
* Required. The BigQuery table to copy the data from with a length limit of
* 1,024 characters.
* @type string $gcs_staging_dir
* Intermediate Cloud Storage directory used for the import with a length
* limit of 2,000 characters. Can be specified if one wants to have the
* BigQuery export to a specific Cloud Storage directory.
* @type string $data_schema
* The schema to use when parsing the data from the source.
* Supported values for product imports:
* * `product` (default): One JSON [Product][google.cloud.retail.v2.Product]
* per line. Each product must
* have a valid [Product.id][google.cloud.retail.v2.Product.id].
* * `product_merchant_center`: See [Importing catalog data from Merchant
* Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc).
* Supported values for user events imports:
* * `user_event` (default): One JSON
* [UserEvent][google.cloud.retail.v2.UserEvent] per line.
* * `user_event_ga360`: Using
* https://support.google.com/analytics/answer/3437719.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Cloud\Retail\V2\ImportConfig::initOnce();
parent::__construct($data);
}
/**
* BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format.
* Only supported when
* [ImportProductsRequest.reconciliation_mode][google.cloud.retail.v2.ImportProductsRequest.reconciliation_mode]
* is set to `FULL`.
*
* Generated from protobuf field <code>.google.type.Date partition_date = 6;</code>
* @return \Google\Type\Date|null
*/
public function getPartitionDate()
{
return $this->readOneof(6);
}
public function hasPartitionDate()
{
return $this->hasOneof(6);
}
/**
* BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format.
* Only supported when
* [ImportProductsRequest.reconciliation_mode][google.cloud.retail.v2.ImportProductsRequest.reconciliation_mode]
* is set to `FULL`.
*
* Generated from protobuf field <code>.google.type.Date partition_date = 6;</code>
* @param \Google\Type\Date $var
* @return $this
*/
public function setPartitionDate($var)
{
GPBUtil::checkMessage($var, \Google\Type\Date::class);
$this->writeOneof(6, $var);
return $this;
}
/**
* The project ID (can be project # or ID) that the BigQuery source is in with
* a length limit of 128 characters. If not specified, inherits the project
* ID from the parent request.
*
* Generated from protobuf field <code>string project_id = 5;</code>
* @return string
*/
public function getProjectId()
{
return $this->project_id;
}
/**
* The project ID (can be project # or ID) that the BigQuery source is in with
* a length limit of 128 characters. If not specified, inherits the project
* ID from the parent request.
*
* Generated from protobuf field <code>string project_id = 5;</code>
* @param string $var
* @return $this
*/
public function setProjectId($var)
{
GPBUtil::checkString($var, True);
$this->project_id = $var;
return $this;
}
/**
* Required. The BigQuery data set to copy the data from with a length limit
* of 1,024 characters.
*
* Generated from protobuf field <code>string dataset_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
* @return string
*/
public function getDatasetId()
{
return $this->dataset_id;
}
/**
* Required. The BigQuery data set to copy the data from with a length limit
* of 1,024 characters.
*
* Generated from protobuf field <code>string dataset_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
* @param string $var
* @return $this
*/
public function setDatasetId($var)
{
GPBUtil::checkString($var, True);
$this->dataset_id = $var;
return $this;
}
/**
* Required. The BigQuery table to copy the data from with a length limit of
* 1,024 characters.
*
* Generated from protobuf field <code>string table_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
* @return string
*/
public function getTableId()
{
return $this->table_id;
}
/**
* Required. The BigQuery table to copy the data from with a length limit of
* 1,024 characters.
*
* Generated from protobuf field <code>string table_id = 2 [(.google.api.field_behavior) = REQUIRED];</code>
* @param string $var
* @return $this
*/
public function setTableId($var)
{
GPBUtil::checkString($var, True);
$this->table_id = $var;
return $this;
}
/**
* Intermediate Cloud Storage directory used for the import with a length
* limit of 2,000 characters. Can be specified if one wants to have the
* BigQuery export to a specific Cloud Storage directory.
*
* Generated from protobuf field <code>string gcs_staging_dir = 3;</code>
* @return string
*/
public function getGcsStagingDir()
{
return $this->gcs_staging_dir;
}
/**
* Intermediate Cloud Storage directory used for the import with a length
* limit of 2,000 characters. Can be specified if one wants to have the
* BigQuery export to a specific Cloud Storage directory.
*
* Generated from protobuf field <code>string gcs_staging_dir = 3;</code>
* @param string $var
* @return $this
*/
public function setGcsStagingDir($var)
{
GPBUtil::checkString($var, True);
$this->gcs_staging_dir = $var;
return $this;
}
/**
* The schema to use when parsing the data from the source.
* Supported values for product imports:
* * `product` (default): One JSON [Product][google.cloud.retail.v2.Product]
* per line. Each product must
* have a valid [Product.id][google.cloud.retail.v2.Product.id].
* * `product_merchant_center`: See [Importing catalog data from Merchant
* Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc).
* Supported values for user events imports:
* * `user_event` (default): One JSON
* [UserEvent][google.cloud.retail.v2.UserEvent] per line.
* * `user_event_ga360`: Using
* https://support.google.com/analytics/answer/3437719.
*
* Generated from protobuf field <code>string data_schema = 4;</code>
* @return string
*/
public function getDataSchema()
{
return $this->data_schema;
}
/**
* The schema to use when parsing the data from the source.
* Supported values for product imports:
* * `product` (default): One JSON [Product][google.cloud.retail.v2.Product]
* per line. Each product must
* have a valid [Product.id][google.cloud.retail.v2.Product.id].
* * `product_merchant_center`: See [Importing catalog data from Merchant
* Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc).
* Supported values for user events imports:
* * `user_event` (default): One JSON
* [UserEvent][google.cloud.retail.v2.UserEvent] per line.
* * `user_event_ga360`: Using
* https://support.google.com/analytics/answer/3437719.
*
* Generated from protobuf field <code>string data_schema = 4;</code>
* @param string $var
* @return $this
*/
public function setDataSchema($var)
{
GPBUtil::checkString($var, True);
$this->data_schema = $var;
return $this;
}
/**
* @return string
*/
public function getPartition()
{
return $this->whichOneof("partition");
}
}