Skip to content
Permalink
Browse files
feat: bigquery Write API V1Beta2 public interface. (#637)
PiperOrigin-RevId: 339152802

Source-Author: Google APIs <noreply@google.com>
Source-Date: Mon Oct 26 17:26:54 2020 -0700
Source-Repo: googleapis/googleapis
Source-Sha: b3c2eb02e501d7eec36b4b08fcd981f32f8b4ff4
Source-Link: googleapis/googleapis@b3c2eb0
  • Loading branch information
yoshi-automation committed Oct 27, 2020
1 parent 88d4fc1 commit bb21e7bc2b206e7720855d032889f4bc45121f9a
Showing with 23,138 additions and 133 deletions.
  1. +3 −0 ...gquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta2/BaseBigQueryReadClient.java
  2. +709 −0 ...-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta2/BigQueryWriteClient.java
  3. +238 −0 ...igquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta2/BigQueryWriteSettings.java
  4. +21 −0 ...e-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta2/package-info.java
  5. +51 −0 ...torage/src/main/java/com/google/cloud/bigquery/storage/v1beta2/stub/BigQueryReadStubSettings.java
  6. +73 −0 ...gquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta2/stub/BigQueryWriteStub.java
  7. +493 −0 ...orage/src/main/java/com/google/cloud/bigquery/storage/v1beta2/stub/BigQueryWriteStubSettings.java
  8. +115 −0 ...rc/main/java/com/google/cloud/bigquery/storage/v1beta2/stub/GrpcBigQueryWriteCallableFactory.java
  9. +323 −0 ...rystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta2/stub/GrpcBigQueryWriteStub.java
  10. +4 −1 ...rystorage/src/test/java/com/google/cloud/bigquery/storage/v1beta2/BaseBigQueryReadClientTest.java
  11. +345 −0 ...querystorage/src/test/java/com/google/cloud/bigquery/storage/v1beta2/BigQueryWriteClientTest.java
  12. +57 −0 ...ud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1beta2/MockBigQueryWrite.java
  13. +166 −0 ...igquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1beta2/MockBigQueryWriteImpl.java
  14. +10 −0 ...uerystorage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/BigQueryReadGrpc.java
  15. +1,048 −0 ...erystorage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/BigQueryWriteGrpc.java
  16. +2,608 −0 ...erystorage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/AppendRowsRequest.java
  17. +159 −0 ...e-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/AppendRowsRequestOrBuilder.java
  18. +1,252 −0 ...rystorage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/AppendRowsResponse.java
  19. +120 −0 ...-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/AppendRowsResponseOrBuilder.java
  20. +941 −0 ...beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/BatchCommitWriteStreamsRequest.java
  21. +103 −0 .../main/java/com/google/cloud/bigquery/storage/v1beta2/BatchCommitWriteStreamsRequestOrBuilder.java
  22. +749 −0 ...eta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/BatchCommitWriteStreamsResponse.java
  23. +60 −0 ...main/java/com/google/cloud/bigquery/storage/v1beta2/BatchCommitWriteStreamsResponseOrBuilder.java
  24. +973 −0 ...age-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/CreateWriteStreamRequest.java
  25. +97 −0 ...a2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/CreateWriteStreamRequestOrBuilder.java
  26. +669 −0 ...e-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/FinalizeWriteStreamRequest.java
  27. +56 −0 .../src/main/java/com/google/cloud/bigquery/storage/v1beta2/FinalizeWriteStreamRequestOrBuilder.java
  28. +558 −0 ...-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/FinalizeWriteStreamResponse.java
  29. +38 −0 ...src/main/java/com/google/cloud/bigquery/storage/v1beta2/FinalizeWriteStreamResponseOrBuilder.java
  30. +931 −0 ...uerystorage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/FlushRowsRequest.java
  31. +92 −0 ...ge-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/FlushRowsRequestOrBuilder.java
  32. +547 −0 ...erystorage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/FlushRowsResponse.java
  33. +38 −0 ...e-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/FlushRowsResponseOrBuilder.java
  34. +665 −0 ...torage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/GetWriteStreamRequest.java
  35. +56 −0 ...beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/GetWriteStreamRequestOrBuilder.java
  36. +84 −0 ...igquerystorage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/ProtoBufProto.java
  37. +709 −0 ...ud-bigquerystorage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/ProtoRows.java
  38. +69 −0 ...rystorage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/ProtoRowsOrBuilder.java
  39. +775 −0 ...-bigquerystorage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/ProtoSchema.java
  40. +66 −0 ...storage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/ProtoSchemaOrBuilder.java
  41. +2 −18 ...rage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/SplitReadStreamResponse.java
  42. +278 −57 ...bigquerystorage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/StorageProto.java
  43. +65 −37 ...-bigquerystorage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/StreamProto.java
  44. +2,230 −0 ...uerystorage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/TableFieldSchema.java
  45. +199 −0 ...ge-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/TableFieldSchemaOrBuilder.java
  46. +102 −0 ...d-bigquerystorage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/TableProto.java
  47. +972 −0 ...-bigquerystorage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/TableSchema.java
  48. +77 −0 ...storage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/TableSchemaOrBuilder.java
  49. +2,152 −0 ...-bigquerystorage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/WriteStream.java
  50. +242 −0 ...querystorage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/WriteStreamName.java
  51. +244 −0 ...storage-v1beta2/src/main/java/com/google/cloud/bigquery/storage/v1beta2/WriteStreamOrBuilder.java
  52. +1 −2 ...le-cloud-bigquerystorage-v1beta2/src/main/proto/google/cloud/bigquery/storage/v1beta2/arrow.proto
  53. +1 −2 ...gle-cloud-bigquerystorage-v1beta2/src/main/proto/google/cloud/bigquery/storage/v1beta2/avro.proto
  54. +41 −0 ...cloud-bigquerystorage-v1beta2/src/main/proto/google/cloud/bigquery/storage/v1beta2/protobuf.proto
  55. +253 −5 ...-cloud-bigquerystorage-v1beta2/src/main/proto/google/cloud/bigquery/storage/v1beta2/storage.proto
  56. +52 −2 ...e-cloud-bigquerystorage-v1beta2/src/main/proto/google/cloud/bigquery/storage/v1beta2/stream.proto
  57. +102 −0 ...le-cloud-bigquerystorage-v1beta2/src/main/proto/google/cloud/bigquery/storage/v1beta2/table.proto
  58. +54 −9 synth.metadata
@@ -31,6 +31,9 @@
*
* <p>The Read API can be used to read data from BigQuery.
*
* <p>New code should use the v1 Read API going forward, if they don't use Write API at the same
* time.
*
* <p>This class provides the ability to make remote calls to the backing service through method
* calls that map to API methods. Sample code to get started:
*

Large diffs are not rendered by default.

@@ -0,0 +1,238 @@
/*
* Copyright 2020 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.
*/
package com.google.cloud.bigquery.storage.v1beta2;

import com.google.api.core.ApiFunction;
import com.google.api.core.BetaApi;
import com.google.api.gax.core.GoogleCredentialsProvider;
import com.google.api.gax.core.InstantiatingExecutorProvider;
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
import com.google.api.gax.rpc.ApiClientHeaderProvider;
import com.google.api.gax.rpc.ClientContext;
import com.google.api.gax.rpc.ClientSettings;
import com.google.api.gax.rpc.StreamingCallSettings;
import com.google.api.gax.rpc.TransportChannelProvider;
import com.google.api.gax.rpc.UnaryCallSettings;
import com.google.cloud.bigquery.storage.v1beta2.stub.BigQueryWriteStubSettings;
import java.io.IOException;
import java.util.List;
import javax.annotation.Generated;

// AUTO-GENERATED DOCUMENTATION AND CLASS
/**
* Settings class to configure an instance of {@link BigQueryWriteClient}.
*
* <p>The default instance has everything set to sensible defaults:
*
* <ul>
* <li>The default service address (bigquerystorage.googleapis.com) and default port (443) are
* used.
* <li>Credentials are acquired automatically through Application Default Credentials.
* <li>Retries are configured for idempotent methods but not for non-idempotent methods.
* </ul>
*
* <p>The builder of this class is recursive, so contained classes are themselves builders. When
* build() is called, the tree of builders is called to create the complete settings object.
*
* <p>For example, to set the total timeout of createWriteStream to 30 seconds:
*
* <pre>
* <code>
* BigQueryWriteSettings.Builder bigQueryWriteSettingsBuilder =
* BigQueryWriteSettings.newBuilder();
* bigQueryWriteSettingsBuilder
* .createWriteStreamSettings()
* .setRetrySettings(
* bigQueryWriteSettingsBuilder.createWriteStreamSettings().getRetrySettings().toBuilder()
* .setTotalTimeout(Duration.ofSeconds(30))
* .build());
* BigQueryWriteSettings bigQueryWriteSettings = bigQueryWriteSettingsBuilder.build();
* </code>
* </pre>
*/
@Generated("by gapic-generator")
@BetaApi
public class BigQueryWriteSettings extends ClientSettings<BigQueryWriteSettings> {
/** Returns the object with the settings used for calls to createWriteStream. */
public UnaryCallSettings<CreateWriteStreamRequest, WriteStream> createWriteStreamSettings() {
return ((BigQueryWriteStubSettings) getStubSettings()).createWriteStreamSettings();
}

/** Returns the object with the settings used for calls to appendRows. */
public StreamingCallSettings<AppendRowsRequest, AppendRowsResponse> appendRowsSettings() {
return ((BigQueryWriteStubSettings) getStubSettings()).appendRowsSettings();
}

/** Returns the object with the settings used for calls to getWriteStream. */
public UnaryCallSettings<GetWriteStreamRequest, WriteStream> getWriteStreamSettings() {
return ((BigQueryWriteStubSettings) getStubSettings()).getWriteStreamSettings();
}

/** Returns the object with the settings used for calls to finalizeWriteStream. */
public UnaryCallSettings<FinalizeWriteStreamRequest, FinalizeWriteStreamResponse>
finalizeWriteStreamSettings() {
return ((BigQueryWriteStubSettings) getStubSettings()).finalizeWriteStreamSettings();
}

/** Returns the object with the settings used for calls to batchCommitWriteStreams. */
public UnaryCallSettings<BatchCommitWriteStreamsRequest, BatchCommitWriteStreamsResponse>
batchCommitWriteStreamsSettings() {
return ((BigQueryWriteStubSettings) getStubSettings()).batchCommitWriteStreamsSettings();
}

/** Returns the object with the settings used for calls to flushRows. */
public UnaryCallSettings<FlushRowsRequest, FlushRowsResponse> flushRowsSettings() {
return ((BigQueryWriteStubSettings) getStubSettings()).flushRowsSettings();
}

public static final BigQueryWriteSettings create(BigQueryWriteStubSettings stub)
throws IOException {
return new BigQueryWriteSettings.Builder(stub.toBuilder()).build();
}

/** Returns a builder for the default ExecutorProvider for this service. */
public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() {
return BigQueryWriteStubSettings.defaultExecutorProviderBuilder();
}

/** Returns the default service endpoint. */
public static String getDefaultEndpoint() {
return BigQueryWriteStubSettings.getDefaultEndpoint();
}

/** Returns the default service scopes. */
public static List<String> getDefaultServiceScopes() {
return BigQueryWriteStubSettings.getDefaultServiceScopes();
}

/** Returns a builder for the default credentials for this service. */
public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
return BigQueryWriteStubSettings.defaultCredentialsProviderBuilder();
}

/** Returns a builder for the default ChannelProvider for this service. */
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
return BigQueryWriteStubSettings.defaultGrpcTransportProviderBuilder();
}

public static TransportChannelProvider defaultTransportChannelProvider() {
return BigQueryWriteStubSettings.defaultTransportChannelProvider();
}

@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
return BigQueryWriteStubSettings.defaultApiClientHeaderProviderBuilder();
}

/** Returns a new builder for this class. */
public static Builder newBuilder() {
return Builder.createDefault();
}

/** Returns a new builder for this class. */
public static Builder newBuilder(ClientContext clientContext) {
return new Builder(clientContext);
}

/** Returns a builder containing all the values of this settings class. */
public Builder toBuilder() {
return new Builder(this);
}

protected BigQueryWriteSettings(Builder settingsBuilder) throws IOException {
super(settingsBuilder);
}

/** Builder for BigQueryWriteSettings. */
public static class Builder extends ClientSettings.Builder<BigQueryWriteSettings, Builder> {
protected Builder() throws IOException {
this((ClientContext) null);
}

protected Builder(ClientContext clientContext) {
super(BigQueryWriteStubSettings.newBuilder(clientContext));
}

private static Builder createDefault() {
return new Builder(BigQueryWriteStubSettings.newBuilder());
}

protected Builder(BigQueryWriteSettings settings) {
super(settings.getStubSettings().toBuilder());
}

protected Builder(BigQueryWriteStubSettings.Builder stubSettings) {
super(stubSettings);
}

public BigQueryWriteStubSettings.Builder getStubSettingsBuilder() {
return ((BigQueryWriteStubSettings.Builder) getStubSettings());
}

// NEXT_MAJOR_VER: remove 'throws Exception'
/**
* Applies the given settings updater function to all of the unary API methods in this service.
*
* <p>Note: This method does not support applying settings to streaming methods.
*/
public Builder applyToAllUnaryMethods(
ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) throws Exception {
super.applyToAllUnaryMethods(
getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater);
return this;
}

/** Returns the builder for the settings used for calls to createWriteStream. */
public UnaryCallSettings.Builder<CreateWriteStreamRequest, WriteStream>
createWriteStreamSettings() {
return getStubSettingsBuilder().createWriteStreamSettings();
}

/** Returns the builder for the settings used for calls to appendRows. */
public StreamingCallSettings.Builder<AppendRowsRequest, AppendRowsResponse>
appendRowsSettings() {
return getStubSettingsBuilder().appendRowsSettings();
}

/** Returns the builder for the settings used for calls to getWriteStream. */
public UnaryCallSettings.Builder<GetWriteStreamRequest, WriteStream> getWriteStreamSettings() {
return getStubSettingsBuilder().getWriteStreamSettings();
}

/** Returns the builder for the settings used for calls to finalizeWriteStream. */
public UnaryCallSettings.Builder<FinalizeWriteStreamRequest, FinalizeWriteStreamResponse>
finalizeWriteStreamSettings() {
return getStubSettingsBuilder().finalizeWriteStreamSettings();
}

/** Returns the builder for the settings used for calls to batchCommitWriteStreams. */
public UnaryCallSettings.Builder<
BatchCommitWriteStreamsRequest, BatchCommitWriteStreamsResponse>
batchCommitWriteStreamsSettings() {
return getStubSettingsBuilder().batchCommitWriteStreamsSettings();
}

/** Returns the builder for the settings used for calls to flushRows. */
public UnaryCallSettings.Builder<FlushRowsRequest, FlushRowsResponse> flushRowsSettings() {
return getStubSettingsBuilder().flushRowsSettings();
}

@Override
public BigQueryWriteSettings build() throws IOException {
return new BigQueryWriteSettings(this);
}
}
}
@@ -25,6 +25,9 @@
*
* <p>The Read API can be used to read data from BigQuery.
*
* <p>New code should use the v1 Read API going forward, if they don't use Write API at the same
* time.
*
* <p>Sample for BaseBigQueryReadClient:
*
* <pre>
@@ -37,6 +40,24 @@
* }
* </code>
* </pre>
*
* =================== BigQueryWriteClient ===================
*
* <p>Service Description: BigQuery Write API.
*
* <p>The Write API can be used to write data to BigQuery.
*
* <p>Sample for BigQueryWriteClient:
*
* <pre>
* <code>
* try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
* TableName parent = TableName.of("[PROJECT]", "[DATASET]", "[TABLE]");
* WriteStream writeStream = WriteStream.newBuilder().build();
* WriteStream response = bigQueryWriteClient.createWriteStream(parent, writeStream);
* }
* </code>
* </pre>
*/
@Generated("by gapic-generator")
package com.google.cloud.bigquery.storage.v1beta2;
@@ -85,6 +85,7 @@ public class BigQueryReadStubSettings extends StubSettings<BigQueryReadStubSetti
private static final ImmutableList<String> DEFAULT_SERVICE_SCOPES =
ImmutableList.<String>builder()
.add("https://www.googleapis.com/auth/bigquery")
.add("https://www.googleapis.com/auth/bigquery.insertdata")
.add("https://www.googleapis.com/auth/bigquery.readonly")
.add("https://www.googleapis.com/auth/cloud-platform")
.build();
@@ -206,6 +207,18 @@ public static class Builder extends StubSettings.Builder<BigQueryReadStubSetting
ImmutableSet.copyOf(
Lists.<StatusCode.Code>newArrayList(
StatusCode.Code.DEADLINE_EXCEEDED, StatusCode.Code.UNAVAILABLE)));
definitions.put(
"retry_policy_4_codes",
ImmutableSet.copyOf(
Lists.<StatusCode.Code>newArrayList(
StatusCode.Code.DEADLINE_EXCEEDED,
StatusCode.Code.UNAVAILABLE,
StatusCode.Code.RESOURCE_EXHAUSTED)));
definitions.put(
"retry_policy_6_codes",
ImmutableSet.copyOf(
Lists.<StatusCode.Code>newArrayList(
StatusCode.Code.DEADLINE_EXCEEDED, StatusCode.Code.UNAVAILABLE)));
definitions.put("no_retry_codes", ImmutableSet.copyOf(Lists.<StatusCode.Code>newArrayList()));
definitions.put(
"retry_policy_3_codes",
@@ -215,6 +228,11 @@ public static class Builder extends StubSettings.Builder<BigQueryReadStubSetting
definitions.put(
"retry_policy_2_codes",
ImmutableSet.copyOf(Lists.<StatusCode.Code>newArrayList(StatusCode.Code.UNAVAILABLE)));
definitions.put(
"retry_policy_5_codes",
ImmutableSet.copyOf(
Lists.<StatusCode.Code>newArrayList(
StatusCode.Code.UNAVAILABLE, StatusCode.Code.RESOURCE_EXHAUSTED)));
RETRYABLE_CODE_DEFINITIONS = definitions.build();
}

@@ -234,6 +252,17 @@ public static class Builder extends StubSettings.Builder<BigQueryReadStubSetting
.setTotalTimeout(Duration.ofMillis(600000L))
.build();
definitions.put("retry_policy_1_params", settings);
settings =
RetrySettings.newBuilder()
.setInitialRetryDelay(Duration.ofMillis(100L))
.setRetryDelayMultiplier(1.3)
.setMaxRetryDelay(Duration.ofMillis(60000L))
.setInitialRpcTimeout(Duration.ofMillis(600000L))
.setRpcTimeoutMultiplier(1.0)
.setMaxRpcTimeout(Duration.ofMillis(600000L))
.setTotalTimeout(Duration.ofMillis(600000L))
.build();
definitions.put("retry_policy_6_params", settings);
settings =
RetrySettings.newBuilder()
.setInitialRetryDelay(Duration.ofMillis(100L))
@@ -256,6 +285,28 @@ public static class Builder extends StubSettings.Builder<BigQueryReadStubSetting
.setTotalTimeout(Duration.ofMillis(86400000L))
.build();
definitions.put("retry_policy_2_params", settings);
settings =
RetrySettings.newBuilder()
.setInitialRetryDelay(Duration.ofMillis(100L))
.setRetryDelayMultiplier(1.3)
.setMaxRetryDelay(Duration.ofMillis(60000L))
.setInitialRpcTimeout(Duration.ofMillis(600000L))
.setRpcTimeoutMultiplier(1.0)
.setMaxRpcTimeout(Duration.ofMillis(600000L))
.setTotalTimeout(Duration.ofMillis(600000L))
.build();
definitions.put("retry_policy_4_params", settings);
settings =
RetrySettings.newBuilder()
.setInitialRetryDelay(Duration.ofMillis(100L))
.setRetryDelayMultiplier(1.3)
.setMaxRetryDelay(Duration.ofMillis(60000L))
.setInitialRpcTimeout(Duration.ofMillis(86400000L))
.setRpcTimeoutMultiplier(1.0)
.setMaxRpcTimeout(Duration.ofMillis(86400000L))
.setTotalTimeout(Duration.ofMillis(86400000L))
.build();
definitions.put("retry_policy_5_params", settings);
settings = RetrySettings.newBuilder().setRpcTimeoutMultiplier(1.0).build();
definitions.put("no_retry_params", settings);
RETRY_PARAM_DEFINITIONS = definitions.build();

0 comments on commit bb21e7b

Please sign in to comment.