bq_field.proto (46 lines of code) (raw):
// Copyright 2014 Google Inc. All rights reserved.
//
// 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
//
// http://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.
syntax = "proto3";
package gen_bq_schema;
option go_package = "github.com/GoogleCloudPlatform/protoc-gen-bq-schema/protos";
import "google/protobuf/descriptor.proto";
// Message containing options related to BigQuery schema generation
// and management via Protobuf.
message BigQueryFieldOptions {
// Flag to specify that a field should be marked as 'REQUIRED' when
// used to generate schema for BigQuery.
bool require = 1;
// Optionally override whatever type is resolved by the schema
// generator. This is useful, for example, to store epoch timestamps
// with the underlying 'TIMESTAMP' type, when normally, they would
// be structured as 'INTEGER' fields.
string type_override = 2;
// Optionally omit a field from BigQuery schema.
bool ignore = 3;
// Set the description for a field in BigQuery schema.
string description = 4;
// Customize the name of the field in the BigQuery schema.
string name = 5;
// Optionally add PolicyTag for a field in BigQuery schema.
string policy_tags = 6;
// Optional default value.
//
// See https://cloud.google.com/bigquery/docs/default-values for possible
// values.
string default_value_expression = 7;
}
extend google.protobuf.FieldOptions {
// BigQuery field schema generation options.
BigQueryFieldOptions bigquery = 1021;
}