Skip to content

Commit 36dd687

Browse files
authored
---
yaml --- r: 35639 b: refs/heads/autosynth-iamcredentials c: 57ac06a h: refs/heads/master i: 35637: 5603a27 35635: 5ec4aed 35631: 48918b4
1 parent fd6f302 commit 36dd687

14 files changed

Lines changed: 1554 additions & 7 deletions

File tree

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ refs/heads/pubsub-ordering-keys: 3ea3dc93288c90e1776339a2c059a076e2e2fd1d
159159
refs/tags/v0.75.0: c3673089ae09a897c1b4cf7dfe167fe4f8ab32fb
160160
refs/tags/v0.76.0: 395b016826d3ddf9cb8b34919636df15a4dbd032
161161
refs/tags/v0.77.0: 28a85a77883ccf5d48f297fd0ef3b3dca6ce01f0
162-
refs/heads/autosynth-iamcredentials: 20912a41d87694d26203fc8357fb3bb881ff504a
162+
refs/heads/autosynth-iamcredentials: 57ac06ab786d6227c8200fc547445b3bfe5c5228
163163
refs/heads/release-google-cloud-java-v0.78.0: fae5e980779cf0173a152636b278015b9f60ee55
164164
refs/tags/v0.78.0: 62d4bd30605ab3578f9a08d84487fb0b33ac2ff5
165165
refs/tags/v0.79.0: 82287b570708748c411d05c40f3932cff9606feb

branches/autosynth-iamcredentials/google-cloud-clients/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQuery.java

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,39 @@ public String getSelector() {
116116
}
117117
}
118118

119+
/**
120+
* Fields of a BigQuery Model resource.
121+
*
122+
* @see <a href="https://cloud.google.com/bigquery/docs/reference/v2/models#resource">Model
123+
* Resource</a>
124+
*/
125+
enum ModelField implements FieldSelector {
126+
CREATION_TIME("creationTime"),
127+
DESCRIPTION("description"),
128+
ETAG("etag"),
129+
EXPIRATION_TIME("expirationTime"),
130+
FRIENDLY_NAME("friendlyName"),
131+
LABELS("labels"),
132+
LAST_MODIFIED_TIME("lastModifiedTime"),
133+
LOCATION("location"),
134+
MODEL_REFERENCE("modelReference"),
135+
TIME_PARTITIONING("timePartitioning"),
136+
TYPE("modelType");
137+
138+
static final List<? extends FieldSelector> REQUIRED_FIELDS = ImmutableList.of(MODEL_REFERENCE);
139+
140+
private final String selector;
141+
142+
ModelField(String selector) {
143+
this.selector = selector;
144+
}
145+
146+
@Override
147+
public String getSelector() {
148+
return selector;
149+
}
150+
}
151+
119152
/**
120153
* Fields of a BigQuery Job resource.
121154
*
@@ -211,6 +244,27 @@ public static DatasetDeleteOption deleteContents() {
211244
}
212245
}
213246

247+
/** Class for specifying table list options. */
248+
class ModelListOption extends Option {
249+
250+
private static final long serialVersionUID = 8660294969063322498L;
251+
252+
private ModelListOption(BigQueryRpc.Option option, Object value) {
253+
super(option, value);
254+
}
255+
256+
/** Returns an option to specify the maximum number of models returned per page. */
257+
public static ModelListOption pageSize(long pageSize) {
258+
checkArgument(pageSize >= 0);
259+
return new ModelListOption(BigQueryRpc.Option.MAX_RESULTS, pageSize);
260+
}
261+
262+
/** Returns an option to specify the page token from which to start listing models. */
263+
public static ModelListOption pageToken(String pageToken) {
264+
return new ModelListOption(BigQueryRpc.Option.PAGE_TOKEN, pageToken);
265+
}
266+
}
267+
214268
/** Class for specifying table list options. */
215269
class TableListOption extends Option {
216270

@@ -253,6 +307,26 @@ public static TableOption fields(TableField... fields) {
253307
}
254308
}
255309

310+
/** Class for specifying table get, create and update options. */
311+
class ModelOption extends Option {
312+
313+
private static final long serialVersionUID = -1723870134095226772L;
314+
315+
private ModelOption(BigQueryRpc.Option option, Object value) {
316+
super(option, value);
317+
}
318+
319+
/**
320+
* Returns an option to specify the model's fields to be returned by the RPC call. If this
321+
* option is not provided all model's fields are returned. {@code ModelOption.fields} can be
322+
* used to specify only the fields of interest.
323+
*/
324+
public static ModelOption fields(ModelField... fields) {
325+
return new ModelOption(
326+
BigQueryRpc.Option.FIELDS, Helper.selector(ModelField.REQUIRED_FIELDS, fields));
327+
}
328+
}
329+
256330
/** Class for specifying table data list options. */
257331
class TableDataListOption extends Option {
258332

@@ -705,6 +779,29 @@ public int hashCode() {
705779
*/
706780
boolean delete(TableId tableId);
707781

782+
/**
783+
* Deletes the requested model.
784+
*
785+
* <p>Example of deleting a model.
786+
*
787+
* <pre>{@code
788+
* String projectId = "my_project_id";
789+
* String datasetName = "my_dataset_name";
790+
* String tableName = "my_model_name";
791+
* ModelId modelId = ModelId.of(projectId, datasetName, modelName);
792+
* boolean deleted = bigquery.delete(modelId);
793+
* if (deleted) {
794+
* // the model was deleted
795+
* } else {
796+
* // the model was not found
797+
* }
798+
* }</pre>
799+
*
800+
* @return {@code true} if model was deleted, {@code false} if it was not found
801+
* @throws BigQueryException upon failure
802+
*/
803+
boolean delete(ModelId modelId);
804+
708805
/**
709806
* Updates dataset information.
710807
*
@@ -765,6 +862,41 @@ public int hashCode() {
765862
*/
766863
Table update(TableInfo tableInfo, TableOption... options);
767864

865+
/**
866+
* Updates model information.
867+
*
868+
* <p>Example of updating a model by changing its description.
869+
*
870+
* <pre>{@code
871+
* String datasetName = "my_dataset_name";
872+
* String modelName = "my_model_name";
873+
* String newDescription = "new_description";
874+
* Model beforeModel = bigquery.getModel(datasetName, modelName);
875+
* ModelInfo modelInfo = beforeModel.toBuilder()
876+
* .setDescription(newDescription)
877+
* .build();
878+
* Model afterModel = bigquery.update(modelInfo);
879+
* }</pre>
880+
*
881+
* <p>Example of updating a model by changing its expiration.
882+
*
883+
* <pre>{@code
884+
* String datasetName = "my_dataset_name";
885+
* String modelName = "my_model_name";
886+
* Model beforeModel = bigquery.getModel(datasetName, modelName);
887+
*
888+
* // Set model to expire 5 days from now.
889+
* long expirationMillis = DateTime.now().plusDays(5).getMillis();
890+
* ModelInfo modelInfo = beforeModel.toBuilder()
891+
* .setExpirationTime(expirationMillis)
892+
* .build();
893+
* Model afterModel = bigquery.update(modelInfo);
894+
* }</pre>
895+
*
896+
* @throws BigQueryException upon failure
897+
*/
898+
Model update(ModelInfo modelInfo, ModelOption... options);
899+
768900
/**
769901
* Returns the requested table or {@code null} if not found.
770902
*
@@ -797,6 +929,30 @@ public int hashCode() {
797929
*/
798930
Table getTable(TableId tableId, TableOption... options);
799931

932+
/**
933+
* Returns the requested model or {@code null} if not found.
934+
*
935+
* @throws BigQueryException upon failure
936+
*/
937+
Model getModel(String datasetId, String modelId, ModelOption... options);
938+
939+
/**
940+
* Returns the requested model or {@code null} if not found.
941+
*
942+
* <p>Example of getting a model.
943+
*
944+
* <pre>{@code
945+
* String projectId = "my_project_id";
946+
* String datasetName = "my_dataset_name";
947+
* String modelName = "my_model_name";
948+
* ModelId modelId = ModelId.of(projectId, datasetName, tableName);
949+
* Model model = bigquery.getModel(modelId);
950+
* }</pre>
951+
*
952+
* @throws BigQueryException upon failure
953+
*/
954+
Model getModel(ModelId tableId, ModelOption... options);
955+
800956
/**
801957
* Lists the tables in the dataset. This method returns partial information on each table: ({@link
802958
* Table#getTableId()}, {@link Table#getFriendlyName()}, {@link Table#getGeneratedId()} and type,
@@ -839,6 +995,12 @@ public int hashCode() {
839995
*/
840996
Page<Table> listTables(DatasetId datasetId, TableListOption... options);
841997

998+
/** Lists the models in the dataset. */
999+
Page<Model> listModels(String datasetId, ModelListOption... options);
1000+
1001+
/** Lists the models in the dataset. */
1002+
Page<Model> listModels(DatasetId datasetId, ModelListOption... options);
1003+
8421004
/**
8431005
* @param tableId
8441006
* @return A list of the partition ids present in the partitioned table

0 commit comments

Comments
 (0)