Synchronize new proto/yaml changes.

PiperOrigin-RevId: 271336284
This commit is contained in:
Google APIs 2019-09-26 06:24:45 -07:00 committed by Copybara-Service
parent 4c2ca81a0c
commit 8609fa975c
7 changed files with 325 additions and 194 deletions

View File

@ -3,11 +3,12 @@ common:
api_version: v1beta1
organization_name: google-cloud
proto_deps:
- name: google-common-protos
- name: google-common-protos
src_proto_paths:
- v1beta1
service_yaml: storage_v1beta1.yaml
service_yaml: v1beta1/bigquerystorage_v1beta1.yaml
gapic_yaml: v1beta1/bigquerystorage_gapic.yaml
proto_package: google.cloud.bigquery.storage.v1beta1
artifacts:
- name: gapic_config
type: GAPIC_CONFIG

View File

@ -0,0 +1,202 @@
type: com.google.api.codegen.ConfigProto
config_schema_version: 1.0.0
# The settings of generated code in a specific language.
language_settings:
java:
package_name: com.google.cloud.bigquery.storage.v1beta1
interface_names:
google.cloud.bigquery.storage.v1beta1.BigQueryStorage: BaseBigQueryStorage
python:
package_name: google.cloud.bigquery_storage_v1beta1.gapic
go:
package_name: cloud.google.com/go/bigquery/storage/apiv1beta1
csharp:
package_name: Google.Cloud.Bigquery.Storage.V1beta1
ruby:
package_name: Google::Cloud::Bigquery::Storage::V1beta1
php:
package_name: Google\Cloud\Bigquery\Storage\V1beta1
nodejs:
package_name: storage.v1beta1
# A list of API interface configurations.
interfaces:
# The fully qualified name of the API interface.
- name: google.cloud.bigquery.storage.v1beta1.BigQueryStorage
# A list of resource collection configurations.
# Consists of a name_pattern and an entity_name.
# The name_pattern is a pattern to describe the names of the resources of this
# collection, using the platform's conventions for URI patterns. A generator
# may use this to generate methods to compose and decompose such names. The
# pattern should use named placeholders as in `shelves/{shelf}/books/{book}`;
# those will be taken as hints for the parameter names of the generated
# methods. If empty, no name methods are generated.
# The entity_name is the name to be used as a basis for generated methods and
# classes.
collections: []
# Definition for retryable codes.
retry_codes_def:
- name: idempotent
retry_codes:
- DEADLINE_EXCEEDED
- UNAVAILABLE
- name: unary_streaming
retry_codes:
- UNAVAILABLE
- name: non_idempotent
retry_codes: []
# Definition for retry/backoff parameters.
retry_params_def:
- name: default
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.3
max_retry_delay_millis: 60000
initial_rpc_timeout_millis: 20000
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 20000
total_timeout_millis: 600000
# CreateReadSession performs some heavyweight table resolution work before
# returning to the caller, and can have DEADLINE_EXCEEDED issues for large
# (> 10TB) tables with the default retry settings.
- name: create_read_session
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.3
max_retry_delay_millis: 60000
initial_rpc_timeout_millis: 120000
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 120000
total_timeout_millis: 600000
# ReadRows is a unary streaming RPC for which the concept of a deadline
# doesn't necessarily make sense -- the server will keep sending back data
# as long as the end of the table hasn't been reached. We set a deadline
# here of 86400000 milliseconds, or one day, but in practice we should use
# some other mechanism here (gRPC keepalive?) and disallow client-side
# deadlines entirely.
- name: read_rows
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.3
max_retry_delay_millis: 60000
initial_rpc_timeout_millis: 86400000
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 86400000
total_timeout_millis: 86400000
# A list of method configurations.
# Common properties:
#
# name - The simple name of the method.
#
# flattening - Specifies the configuration for parameter flattening.
# Describes the parameter groups for which a generator should produce method
# overloads which allow a client to directly pass request message fields as
# method parameters. This information may or may not be used, depending on
# the target language.
# Consists of groups, which each represent a list of parameters to be
# flattened. Each parameter listed must be a field of the request message.
#
# required_fields - Fields that are always required for a request to be
# valid.
#
# resource_name_treatment - An enum that specifies how to treat the resource
# name formats defined in the field_name_patterns and
# response_field_name_patterns fields.
# UNSET: default value
# NONE: the collection configs will not be used by the generated code.
# VALIDATE: string fields will be validated by the client against the
# specified resource name formats.
# STATIC_TYPES: the client will use generated types for resource names.
#
# page_streaming - Specifies the configuration for paging.
# Describes information for generating a method which transforms a paging
# list RPC into a stream of resources.
# Consists of a request and a response.
# The request specifies request information of the list method. It defines
# which fields match the paging pattern in the request. The request consists
# of a page_size_field and a token_field. The page_size_field is the name of
# the optional field specifying the maximum number of elements to be
# returned in the response. The token_field is the name of the field in the
# request containing the page token.
# The response specifies response information of the list method. It defines
# which fields match the paging pattern in the response. The response
# consists of a token_field and a resources_field. The token_field is the
# name of the field in the response containing the next page token. The
# resources_field is the name of the field in the response containing the
# list of resources belonging to the page.
#
# retry_codes_name - Specifies the configuration for retryable codes. The
# name must be defined in interfaces.retry_codes_def.
#
# retry_params_name - Specifies the configuration for retry/backoff
# parameters. The name must be defined in interfaces.retry_params_def.
#
# field_name_patterns - Maps the field name of the request type to
# entity_name of interfaces.collections.
# Specifies the string pattern that the field must follow.
#
# timeout_millis - Specifies the default timeout for a non-retrying call. If
# the call is retrying, refer to retry_params_name instead.
methods:
- name: CreateReadSession
flattening:
groups:
- parameters:
- table_reference
- parent
- requested_streams
required_fields:
- table_reference
- parent
retry_codes_name: idempotent
retry_params_name: create_read_session
timeout_millis: 60000
header_request_params:
- table_reference.project_id
- table_reference.dataset_id
- name: ReadRows
flattening:
groups:
- parameters:
- read_position
required_fields:
- read_position
retry_codes_name: unary_streaming
retry_params_name: read_rows
timeout_millis: 86400000
header_request_params:
- read_position.stream.name
- name: BatchCreateReadSessionStreams
flattening:
groups:
- parameters:
- session
- requested_streams
required_fields:
- session
- requested_streams
retry_codes_name: idempotent
retry_params_name: default
timeout_millis: 60000
header_request_params:
- session.name
- name: FinalizeStream
flattening:
groups:
- parameters:
- stream
required_fields:
- stream
retry_codes_name: idempotent
retry_params_name: default
timeout_millis: 60000
header_request_params:
- stream.name
- name: SplitReadStream
flattening:
groups:
- parameters:
- original_stream
required_fields:
- original_stream
retry_codes_name: idempotent
retry_params_name: default
timeout_millis: 60000
header_request_params:
- original_stream.name

View File

@ -1,5 +1,5 @@
type: com.google.api.codegen.ConfigProto
config_schema_version: 1.0.0
config_schema_version: 2.0.0
# The settings of generated code in a specific language.
language_settings:
java:
@ -18,185 +18,3 @@ language_settings:
package_name: Google\Cloud\Bigquery\Storage\V1beta1
nodejs:
package_name: storage.v1beta1
# A list of API interface configurations.
interfaces:
# The fully qualified name of the API interface.
- name: google.cloud.bigquery.storage.v1beta1.BigQueryStorage
# A list of resource collection configurations.
# Consists of a name_pattern and an entity_name.
# The name_pattern is a pattern to describe the names of the resources of this
# collection, using the platform's conventions for URI patterns. A generator
# may use this to generate methods to compose and decompose such names. The
# pattern should use named placeholders as in `shelves/{shelf}/books/{book}`;
# those will be taken as hints for the parameter names of the generated
# methods. If empty, no name methods are generated.
# The entity_name is the name to be used as a basis for generated methods and
# classes.
collections: []
# Definition for retryable codes.
retry_codes_def:
- name: idempotent
retry_codes:
- DEADLINE_EXCEEDED
- UNAVAILABLE
- name: unary_streaming
retry_codes:
- UNAVAILABLE
- name: non_idempotent
retry_codes: []
# Definition for retry/backoff parameters.
retry_params_def:
- name: default
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.3
max_retry_delay_millis: 60000
initial_rpc_timeout_millis: 20000
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 20000
total_timeout_millis: 600000
# CreateReadSession performs some heavyweight table resolution work before
# returning to the caller, and can have DEADLINE_EXCEEDED issues for large
# (> 10TB) tables with the default retry settings.
- name: create_read_session
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.3
max_retry_delay_millis: 60000
initial_rpc_timeout_millis: 120000
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 120000
total_timeout_millis: 600000
# ReadRows is a unary streaming RPC for which the concept of a deadline
# doesn't necessarily make sense -- the server will keep sending back data
# as long as the end of the table hasn't been reached. We set a deadline
# here of 86400000 milliseconds, or one day, but in practice we should use
# some other mechanism here (gRPC keepalive?) and disallow client-side
# deadlines entirely.
- name: read_rows
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.3
max_retry_delay_millis: 60000
initial_rpc_timeout_millis: 86400000
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 86400000
total_timeout_millis: 86400000
# A list of method configurations.
# Common properties:
#
# name - The simple name of the method.
#
# flattening - Specifies the configuration for parameter flattening.
# Describes the parameter groups for which a generator should produce method
# overloads which allow a client to directly pass request message fields as
# method parameters. This information may or may not be used, depending on
# the target language.
# Consists of groups, which each represent a list of parameters to be
# flattened. Each parameter listed must be a field of the request message.
#
# required_fields - Fields that are always required for a request to be
# valid.
#
# resource_name_treatment - An enum that specifies how to treat the resource
# name formats defined in the field_name_patterns and
# response_field_name_patterns fields.
# UNSET: default value
# NONE: the collection configs will not be used by the generated code.
# VALIDATE: string fields will be validated by the client against the
# specified resource name formats.
# STATIC_TYPES: the client will use generated types for resource names.
#
# page_streaming - Specifies the configuration for paging.
# Describes information for generating a method which transforms a paging
# list RPC into a stream of resources.
# Consists of a request and a response.
# The request specifies request information of the list method. It defines
# which fields match the paging pattern in the request. The request consists
# of a page_size_field and a token_field. The page_size_field is the name of
# the optional field specifying the maximum number of elements to be
# returned in the response. The token_field is the name of the field in the
# request containing the page token.
# The response specifies response information of the list method. It defines
# which fields match the paging pattern in the response. The response
# consists of a token_field and a resources_field. The token_field is the
# name of the field in the response containing the next page token. The
# resources_field is the name of the field in the response containing the
# list of resources belonging to the page.
#
# retry_codes_name - Specifies the configuration for retryable codes. The
# name must be defined in interfaces.retry_codes_def.
#
# retry_params_name - Specifies the configuration for retry/backoff
# parameters. The name must be defined in interfaces.retry_params_def.
#
# field_name_patterns - Maps the field name of the request type to
# entity_name of interfaces.collections.
# Specifies the string pattern that the field must follow.
#
# timeout_millis - Specifies the default timeout for a non-retrying call. If
# the call is retrying, refer to retry_params_name instead.
methods:
- name: CreateReadSession
flattening:
groups:
- parameters:
- table_reference
- parent
- requested_streams
required_fields:
- table_reference
- parent
retry_codes_name: idempotent
retry_params_name: create_read_session
timeout_millis: 60000
header_request_params:
- table_reference.project_id
- table_reference.dataset_id
- name: ReadRows
flattening:
groups:
- parameters:
- read_position
required_fields:
- read_position
retry_codes_name: unary_streaming
retry_params_name: read_rows
timeout_millis: 86400000
header_request_params:
- read_position.stream.name
- name: BatchCreateReadSessionStreams
flattening:
groups:
- parameters:
- session
- requested_streams
required_fields:
- session
- requested_streams
retry_codes_name: idempotent
retry_params_name: default
timeout_millis: 60000
header_request_params:
- session.name
- name: FinalizeStream
flattening:
groups:
- parameters:
- stream
required_fields:
- stream
retry_codes_name: idempotent
retry_params_name: default
timeout_millis: 60000
header_request_params:
- stream.name
- name: SplitReadStream
flattening:
groups:
- parameters:
- original_stream
required_fields:
- original_stream
retry_codes_name: idempotent
retry_params_name: default
timeout_millis: 60000
header_request_params:
- original_stream.name

View File

@ -0,0 +1,65 @@
{
"methodConfig": [
{
"name": [
{
"service": "google.cloud.bigquery.storage.v1beta1.BigQueryStorage",
"method": "CreateReadSession"
}
],
"timeout": "600s",
"retryPolicy": {
"initialBackoff": "0.100s",
"maxBackoff": "60s",
"backoffMultiplier": 1.3,
"retryableStatusCodes": [
"DEADLINE_EXCEEDED",
"UNAVAILABLE"
]
}
},
{
"name": [
{
"service": "google.cloud.bigquery.storage.v1beta1.BigQueryStorage",
"method": "ReadRows"
}
],
"timeout": "86400s",
"retryPolicy": {
"initialBackoff": "0.100s",
"maxBackoff": "60s",
"backoffMultiplier": 1.3,
"retryableStatusCodes": [
"UNAVAILABLE"
]
}
},
{
"name": [
{
"service": "google.cloud.bigquery.storage.v1beta1.BigQueryStorage",
"method": "BatchCreateReadSessionStreams"
},
{
"service": "google.cloud.bigquery.storage.v1beta1.BigQueryStorage",
"method": "FinalizeStream"
},
{
"service": "google.cloud.bigquery.storage.v1beta1.BigQueryStorage",
"method": "SplitReadStream"
}
],
"timeout": "600s",
"retryPolicy": {
"initialBackoff": "0.100s",
"maxBackoff": "60s",
"backoffMultiplier": 1.3,
"retryableStatusCodes": [
"DEADLINE_EXCEEDED",
"UNAVAILABLE"
]
}
}
]
}

View File

@ -12,4 +12,5 @@ authentication:
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/bigquery,
https://www.googleapis.com/auth/bigquery.readonly,
https://www.googleapis.com/auth/cloud-platform

View File

@ -18,13 +18,15 @@ syntax = "proto3";
package google.cloud.bigquery.storage.v1beta1;
import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/cloud/bigquery/storage/v1beta1/arrow.proto";
import "google/cloud/bigquery/storage/v1beta1/avro.proto";
import "google/cloud/bigquery/storage/v1beta1/read_options.proto";
import "google/cloud/bigquery/storage/v1beta1/table_reference.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/timestamp.proto";
import "google/api/client.proto";
option go_package = "google.golang.org/genproto/googleapis/cloud/bigquery/storage/v1beta1;storage";
option java_package = "com.google.cloud.bigquery.storage.v1beta1";
@ -36,6 +38,7 @@ service BigQueryStorage {
option (google.api.default_host) = "bigquerystorage.googleapis.com";
option (google.api.oauth_scopes) =
"https://www.googleapis.com/auth/bigquery,"
"https://www.googleapis.com/auth/bigquery.readonly,"
"https://www.googleapis.com/auth/cloud-platform";
// Creates a new read session. A read session divides the contents of a
@ -59,6 +62,7 @@ service BigQueryStorage {
body: "*"
}
};
option (google.api.method_signature) = "table_reference,parent,requested_streams";
}
// Reads rows from the table in the format prescribed by the read session.
@ -74,6 +78,7 @@ service BigQueryStorage {
option (google.api.http) = {
get: "/v1beta1/{read_position.stream.name=projects/*/streams/*}"
};
option (google.api.method_signature) = "read_position";
}
// Creates additional streams for a ReadSession. This API can be used to
@ -84,6 +89,7 @@ service BigQueryStorage {
post: "/v1beta1/{session.name=projects/*/sessions/*}"
body: "*"
};
option (google.api.method_signature) = "session,requested_streams";
}
// Triggers the graceful termination of a single stream in a ReadSession. This
@ -105,6 +111,7 @@ service BigQueryStorage {
post: "/v1beta1/{stream.name=projects/*/streams/*}"
body: "*"
};
option (google.api.method_signature) = "stream";
}
// Splits a given read stream into two Streams. These streams are referred to
@ -124,11 +131,17 @@ service BigQueryStorage {
option (google.api.http) = {
get: "/v1beta1/{original_stream.name=projects/*/streams/*}"
};
option (google.api.method_signature) = "original_stream";
}
}
// Information about a single data stream within a read session.
message Stream {
option (google.api.resource) = {
type: "bigquerystorage.googleapis.com/Stream"
pattern: "projects/{project}/locations/{location}/streams/{stream}"
};
// Name of the stream, in the form
// `projects/{project_id}/locations/{location}/streams/{stream_id}`.
string name = 1;
@ -145,6 +158,11 @@ message StreamPosition {
// Information returned from a `CreateReadSession` request.
message ReadSession {
option (google.api.resource) = {
type: "bigquerystorage.googleapis.com/ReadSession"
pattern: "projects/{project}/locations/{location}/sessions/{session}"
};
// Unique identifier for the session, in the form
// `projects/{project_id}/locations/{location}/sessions/{session_id}`.
string name = 1;
@ -181,17 +199,17 @@ message ReadSession {
// requested parallelism, projection filters and constraints.
message CreateReadSessionRequest {
// Required. Reference to the table to read.
TableReference table_reference = 1;
TableReference table_reference = 1 [(google.api.field_behavior) = REQUIRED];
// Required. String of the form `projects/{project_id}` indicating the
// project this ReadSession is associated with. This is the project that will
// be billed for usage.
string parent = 6;
string parent = 6 [(google.api.field_behavior) = REQUIRED];
// Optional. Any modifiers to the Table (e.g. snapshot timestamp).
// Any modifiers to the Table (e.g. snapshot timestamp).
TableModifiers table_modifiers = 2;
// Optional. Initial number of streams. If unset or 0, we will
// Initial number of streams. If unset or 0, we will
// provide a value of streams so as to produce reasonable throughput. Must be
// non-negative. The number of streams may be lower than the requested number,
// depending on the amount parallelism that is reasonable for the table and
@ -200,7 +218,7 @@ message CreateReadSessionRequest {
// Streams must be read starting from offset 0.
int32 requested_streams = 3;
// Optional. Read options for this session (e.g. column selection, filters).
// Read options for this session (e.g. column selection, filters).
TableReadOptions read_options = 4;
// Data output format. Currently default to Avro.
@ -248,7 +266,7 @@ message ReadRowsRequest {
// Required. Identifier of the position in the stream to start reading from.
// The offset requested must be less than the last row read from ReadRows.
// Requesting a larger offset is undefined.
StreamPosition read_position = 1;
StreamPosition read_position = 1 [(google.api.field_behavior) = REQUIRED];
}
// Progress information for a given Stream.
@ -267,6 +285,12 @@ message StreamStatus {
// sharding strategy.
float fraction_consumed = 2;
// Represents the progress of the current stream.
//
// Note: This value is under development and should not be used. Use
// `fraction_consumed` instead.
Progress progress = 4;
// Whether this stream can be split. For sessions that use the LIQUID sharding
// strategy, this value is always false. For BALANCED sessions, this value is
// false when enough data have been read such that no more splits are possible
@ -275,6 +299,25 @@ message StreamStatus {
bool is_splittable = 3;
}
message Progress {
// The fraction of rows assigned to the stream that have been processed by the
// server so far, not including the rows in the current response message.
//
// This value, along with `at_response_end`, can be used to interpolate the
// progress made as the rows in the message are being processed using the
// following formula: `at_response_start + (at_response_end -
// at_response_start) * rows_processed_from_response / rows_in_response`.
//
// Note that if a filter is provided, the `at_response_end` value of the
// previous response may not necessarily be equal to the `at_response_start`
// value of the current response.
float at_response_start = 1;
// Similar to `at_response_start`, except that this value includes the rows in
// the current response.
float at_response_end = 2;
}
// Information on if the current connection is being throttled.
message ThrottleStatus {
// How much this connection is being throttled.
@ -313,12 +356,12 @@ message ReadRowsResponse {
message BatchCreateReadSessionStreamsRequest {
// Required. Must be a non-expired session obtained from a call to
// CreateReadSession. Only the name field needs to be set.
ReadSession session = 1;
ReadSession session = 1 [(google.api.field_behavior) = REQUIRED];
// Required. Number of new streams requested. Must be positive.
// Number of added streams may be less than this, see CreateReadSessionRequest
// for more information.
int32 requested_streams = 2;
int32 requested_streams = 2 [(google.api.field_behavior) = REQUIRED];
}
// The response from `BatchCreateReadSessionStreams` returns the stream

View File

@ -17,6 +17,7 @@ syntax = "proto3";
package google.cloud.bigquery.storage.v1beta1;
import "google/api/resource.proto";
import "google/protobuf/timestamp.proto";
option go_package = "google.golang.org/genproto/googleapis/cloud/bigquery/storage/v1beta1;storage";