Skip to content
Permalink
Browse files
feat: add AppendRowsStream to use write API from v1 endpoint (#309)
This is just a duplicate of the class in the v1beta2 endpoint.

I see for reads we tried to be clever by using the v1 version from the v1beta2 endpoint, but it would be harder to do with the write API. The `initial_request_template` parameter means that we need to make sure for certain that we are using the generated types for the correct endpoint.

Since "beta" is clearly in the endpoint and import name, I think leaving the v1beta2 writer module as-is, with additional features and fixes only added to v1 makes some sense. Alternatively, we could add some tests to ensure these classes stay in sync?
  • Loading branch information
tswast committed Sep 27, 2021
1 parent a778080 commit 9fc3c08cdeebfbd69bc815f951a07b2d086b0a69
@@ -30,6 +30,10 @@ class BigQueryReadClient(client.BigQueryReadClient):
__doc__ = client.BigQueryReadClient.__doc__


class BigQueryWriteClient(client.BigQueryWriteClient):
__doc__ = client.BigQueryWriteClient.__doc__


__all__ = (
# google.cloud.bigquery_storage_v1
"__version__",
@@ -25,6 +25,7 @@

from google.cloud.bigquery_storage_v1 import reader
from google.cloud.bigquery_storage_v1.services import big_query_read
from google.cloud.bigquery_storage_v1.services import big_query_write


_SCOPES = (
@@ -135,3 +136,7 @@ def read_rows(
offset,
{"retry": retry, "timeout": timeout, "metadata": metadata},
)


class BigQueryWriteClient(big_query_write.BigQueryWriteClient):
__doc__ = big_query_write.BigQueryWriteClient.__doc__
@@ -0,0 +1,17 @@
# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


class StreamClosedError(Exception):
"""Operation not supported while stream is closed."""

0 comments on commit 9fc3c08

Please sign in to comment.