- Notifications
You must be signed in to change notification settings - Fork321
Closed
Description
Thegoogle.cloud.bigquery_v2 modules are frequently out-of-date. This primarily affect the usability of BigQuery ML.
Since BigQuery is a REST API, protobuf changes must be synced manually in internal code repo before they can be published tohttps://github.com/googleapis/googleapis
In the years since we first introducedgoogle.cloud.bigquery_v2, we've seen that BigQuery ML adds model stats and model types much more frequently than the protobuf changes are actually published.
We've worked around this by:
- I and@shollyman (mostly@shollyman lately) republish the protos when a customer has a problem, such as inlist_models() of dataset containing a BigQuery AutoML models errors with Invalid enum value AUTOML_REGRESSOR for enum type #293
- Avoiding the worst exceptions when an enum or property isn't present, such as inMake Model constructor robust against new model types #334
Solution
- Remove
google.cloud.bigquery_v2modules - Update owlbot config to stop generating "client"
- In the BigQuery ML classes, whereever we were returning protobuf object, return the JSON-parsed API response, instead.
- Complex types become dictionaries.
- Enums become strings.
- In the routines logic, create manual wrappers and enums where needed.
Supersedes#319