Documentation
¶
Overview ¶
Package bigquery implements WebAPI plugin for Google BigQuery
Index ¶
- func SetConfig(cfg *Config) error
- type Config
- type Plugin
- func (p Plugin) Create(ctx context.Context, taskCtx webapi.TaskExecutionContextReader) (webapi.ResourceMeta, webapi.Resource, error)
- func (p Plugin) Delete(ctx context.Context, taskCtx webapi.DeleteContext) error
- func (p Plugin) Get(ctx context.Context, taskCtx webapi.GetContext) (latest webapi.Resource, err error)
- func (p Plugin) GetConfig() webapi.PluginConfig
- func (p Plugin) ResourceRequirements(_ context.Context, _ webapi.TaskExecutionContextReader) (namespace core.ResourceNamespace, constraints core.ResourceConstraintsSpec, ...)
- func (p Plugin) Status(ctx context.Context, tCtx webapi.StatusContext) (phase core.PhaseInfo, err error)
- type QueryJobConfig
- type ResourceMetaWrapper
- type ResourceWrapper
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct {
// WebAPI defines config for the base WebAPI plugin
WebAPI webapi.PluginConfig `json:"webApi" pflag:",Defines config for the base WebAPI plugin."`
// ResourceConstraints defines resource constraints on how many executions to be created per project/overall at any given time
ResourceConstraints core.ResourceConstraintsSpec `` /* 141-byte string literal not displayed */
// GoogleTokenSource configures token source for BigQuery client
GoogleTokenSource google.TokenSourceFactoryConfig `json:"googleTokenSource" pflag:",Defines Google token source"`
// contains filtered or unexported fields
}
Config is config for 'bigquery' plugin
type Plugin ¶
type Plugin struct {
// contains filtered or unexported fields
}
func (Plugin) Create ¶
func (p Plugin) Create(ctx context.Context, taskCtx webapi.TaskExecutionContextReader) (webapi.ResourceMeta, webapi.Resource, error)
func (Plugin) GetConfig ¶
func (p Plugin) GetConfig() webapi.PluginConfig
func (Plugin) ResourceRequirements ¶
func (p Plugin) ResourceRequirements(_ context.Context, _ webapi.TaskExecutionContextReader) ( namespace core.ResourceNamespace, constraints core.ResourceConstraintsSpec, err error)
type QueryJobConfig ¶
type QueryJobConfig struct {
Location string `json:"location"`
ProjectID string `json:"projectId"`
// AllowLargeResults: [Optional] If true and query uses legacy SQL
// dialect, allows the query to produce arbitrarily large result tables
// at a slight cost in performance. Requires destinationTable to be set.
// For standard SQL queries, this flag is ignored and large results are
// always allowed. However, you must still set destinationTable when
// result size exceeds the allowed maximum response size.
AllowLargeResults bool `json:"allowLargeResults,omitempty"`
// Clustering: [Beta] Clustering specification for the destination
// table. Must be specified with time-based partitioning, data in the
// table will be first partitioned and subsequently clustered.
Clustering *bigquery.Clustering `json:"clustering,omitempty"`
// CreateDisposition: [Optional] Specifies whether the job is allowed to
// create new tables. The following values are supported:
// CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the
// table. CREATE_NEVER: The table must already exist. If it does not, a
// 'notFound' error is returned in the job result. The default value is
// CREATE_IF_NEEDED. Creation, truncation and append actions occur as
// one atomic update upon job completion.
CreateDisposition string `json:"createDisposition,omitempty"`
// DefaultDataset: [Optional] Specifies the default dataset to use for
// unqualified table names in the query. Note that this does not alter
// behavior of unqualified dataset names.
DefaultDataset *bigquery.DatasetReference `json:"defaultDataset,omitempty"`
// DestinationEncryptionConfiguration: Custom encryption configuration
// (e.g., Cloud KMS keys).
DestinationEncryptionConfiguration *bigquery.EncryptionConfiguration `json:"destinationEncryptionConfiguration,omitempty"`
// DestinationTable: [Optional] Describes the table where the query
// results should be stored. If not present, a new table will be created
// to store the results. This property must be set for large results
// that exceed the maximum response size.
DestinationTable *bigquery.TableReference `json:"destinationTable,omitempty"`
// FlattenResults: [Optional] If true and query uses legacy SQL dialect,
// flattens all nested and repeated fields in the query results.
// allowLargeResults must be true if this is set to false. For standard
// SQL queries, this flag is ignored and results are never flattened.
//
// Default: true
FlattenResults *bool `json:"flattenResults,omitempty"`
// MaximumBillingTier: [Optional] Limits the billing tier for this job.
// Queries that have resource usage beyond this tier will fail (without
// incurring a charge). If unspecified, this will be set to your project
// default.
//
// Default: 1
MaximumBillingTier *int64 `json:"maximumBillingTier,omitempty"`
// MaximumBytesBilled: [Optional] Limits the bytes billed for this job.
// Queries that will have bytes billed beyond this limit will fail
// (without incurring a charge). If unspecified, this will be set to
// your project default.
MaximumBytesBilled int64 `json:"maximumBytesBilled,omitempty,string"`
// Priority: [Optional] Specifies a priority for the query. Possible
// values include INTERACTIVE and BATCH. The default value is
// INTERACTIVE.
Priority string `json:"priority,omitempty"`
// Query: [Required] SQL query text to execute. The useLegacySql field
// can be used to indicate whether the query uses legacy SQL or standard
// SQL.
Query string `json:"query,omitempty"`
// SchemaUpdateOptions: Allows the schema of the destination table to be
// updated as a side effect of the query job. Schema update options are
// supported in two cases: when writeDisposition is WRITE_APPEND; when
// writeDisposition is WRITE_TRUNCATE and the destination table is a
// partition of a table, specified by partition decorators. For normal
// tables, WRITE_TRUNCATE will always overwrite the schema. One or more
// of the following values are specified: ALLOW_FIELD_ADDITION: allow
// adding a nullable field to the schema. ALLOW_FIELD_RELAXATION: allow
// relaxing a required field in the original schema to nullable.
SchemaUpdateOptions []string `json:"schemaUpdateOptions,omitempty"`
// TableDefinitions: [Optional] If querying an external data source
// outside of BigQuery, describes the data format, location and other
// properties of the data source. By defining these properties, the data
// source can then be queried as if it were a standard BigQuery table.
TableDefinitions map[string]bigquery.ExternalDataConfiguration `json:"tableDefinitions,omitempty"`
// TimePartitioning: Time-based partitioning specification for the
// destination table. Only one of timePartitioning and rangePartitioning
// should be specified.
TimePartitioning *bigquery.TimePartitioning `json:"timePartitioning,omitempty"`
// UseLegacySQL: Specifies whether to use BigQuery's legacy SQL dialect
// for this query. The default value is true. If set to false, the query
// will use BigQuery's standard SQL:
// https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is
// set to false, the value of flattenResults is ignored; query will be
// run as if flattenResults is false.
//
// Default: true
UseLegacySQL *bool `json:"useLegacySql,omitempty"`
// UseQueryCache: [Optional] Whether to look for the result in the query
// cache. The query cache is a best-effort cache that will be flushed
// whenever tables in the query are modified. Moreover, the query cache
// is only available when a query does not have a destination table
// specified. The default value is true.
//
// Default: true
UseQueryCache *bool `json:"useQueryCache,omitempty"`
// UserDefinedFunctionResources: Describes user-defined function
// resources used in the query.
UserDefinedFunctionResources []*bigquery.UserDefinedFunctionResource `json:"userDefinedFunctionResources,omitempty"`
// WriteDisposition: [Optional] Specifies the action that occurs if the
// destination table already exists. The following values are supported:
// WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the
// table data and uses the schema from the query result. WRITE_APPEND:
// If the table already exists, BigQuery appends the data to the table.
// WRITE_EMPTY: If the table already exists and contains data, a
// 'duplicate' error is returned in the job result. The default value is
// WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is
// able to complete the job successfully. Creation, truncation and
// append actions occur as one atomic update upon job completion.
WriteDisposition string `json:"writeDisposition,omitempty"`
}
type ResourceMetaWrapper ¶
type ResourceWrapper ¶
Click to show internal directories.
Click to hide internal directories.