1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327 |
- // Copyright 2022 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
- //
- // 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 google.cloud.audit;
- import "google/iam/v1/policy.proto";
- import "google/protobuf/duration.proto";
- import "google/protobuf/timestamp.proto";
- import "google/rpc/status.proto";
- option csharp_namespace = "Google.Cloud.Audit";
- option go_package = "google.golang.org/genproto/googleapis/cloud/audit;audit";
- option java_multiple_files = true;
- option java_outer_classname = "BigQueryAuditMetadataProto";
- option java_package = "com.google.cloud.audit";
- option objc_class_prefix = "GCA";
- option php_namespace = "Google\\Cloud\\Audit";
- // Audit log format for BigQuery cloud audit logs metadata.
- //
- message BigQueryAuditMetadata {
- // Job insertion event.
- message JobInsertion {
- // Describes how the job was inserted.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Job was inserted using the jobs.insert API.
- JOB_INSERT_REQUEST = 1;
- // Job was inserted using the jobs.query RPC.
- QUERY_REQUEST = 2;
- }
- // Job metadata.
- Job job = 1;
- // Describes how the job was inserted.
- Reason reason = 2;
- }
- // Job state change event.
- message JobChange {
- // Job state before the job state change.
- JobState before = 1;
- // Job state after the job state change.
- JobState after = 2;
- // Job metadata.
- Job job = 3;
- }
- // Job deletion event.
- message JobDeletion {
- // Describes how the job was deleted.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Job was deleted using the jobs.delete API.
- JOB_DELETE_REQUEST = 1;
- }
- // Job URI.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 1;
- // Describes how the job was deleted.
- Reason reason = 2;
- }
- // Dataset creation event.
- message DatasetCreation {
- // Describes how the dataset was created.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Dataset was created using the datasets.create API.
- CREATE = 1;
- // Dataset was created using a query job, e.g., CREATE SCHEMA statement.
- QUERY = 2;
- }
- // Dataset metadata.
- Dataset dataset = 1;
- // Describes how the dataset was created.
- Reason reason = 2;
- // The URI of the job that created the dataset.
- // Present if the reason is QUERY.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 3;
- }
- // Dataset change event.
- message DatasetChange {
- // Describes how the dataset was changed.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Dataset was changed using the datasets.update or datasets.patch API.
- UPDATE = 1;
- // Dataset was changed using the SetIamPolicy API.
- SET_IAM_POLICY = 2;
- // Dataset was changed using a query job, e.g., ALTER SCHEMA statement.
- QUERY = 3;
- }
- // Dataset metadata after the change.
- Dataset dataset = 1;
- // Describes how the dataset was changed.
- Reason reason = 2;
- // The URI of the job that updated the dataset.
- // Present if the reason is QUERY.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 3;
- }
- // Dataset deletion event.
- message DatasetDeletion {
- // Describes how the dataset was deleted.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Dataset was deleted using the datasets.delete API.
- DELETE = 1;
- // Dataset was deleted using a query job, e.g., DROP SCHEMA statement.
- QUERY = 2;
- }
- // Describes how the dataset was deleted.
- Reason reason = 1;
- // The URI of the job that deleted the dataset.
- // Present if the reason is QUERY.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 2;
- }
- // Table creation event.
- message TableCreation {
- // Describes how the table was created.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Table was created as a destination table during a query, load or copy
- // job.
- JOB = 1;
- // Table was created using a DDL query.
- QUERY = 2;
- // Table was created using the tables.create API.
- TABLE_INSERT_REQUEST = 3;
- }
- // Table metadata.
- Table table = 1;
- // Describes how the table was created.
- Reason reason = 3;
- // The URI of the job that created a table.
- // Present if the reason is JOB or QUERY.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 4;
- }
- // Model creation event.
- message ModelCreation {
- // Describes how the model was created.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Model was created using a DDL query.
- QUERY = 2;
- }
- // Model metadata.
- Model model = 1;
- // Describes how the model was created.
- Reason reason = 3;
- // The URI of the job that created the model.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 4;
- }
- // Routine creation event.
- message RoutineCreation {
- // Describes how the routine was created.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Routine was created using a DDL query.
- QUERY = 1;
- // Routine was created using the routines.create API.
- ROUTINE_INSERT_REQUEST = 2;
- }
- // Created routine.
- Routine routine = 1;
- // Describes how the routine was created.
- Reason reason = 3;
- // The URI of the job that created the routine.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 4;
- }
- // Table data read event.
- message TableDataRead {
- // Describes how the table data was read.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Table was used as a source table during a BigQuery job.
- JOB = 1;
- // Table data was accessed using the tabledata.list API.
- TABLEDATA_LIST_REQUEST = 2;
- // Table data was accessed using the jobs.getQueryResults API.
- GET_QUERY_RESULTS_REQUEST = 3;
- // Table data was accessed using the jobs.query RPC.
- QUERY_REQUEST = 4;
- // Table data was accessed using storage.CreateReadSession API.
- CREATE_READ_SESSION = 5;
- // Table data was accessed during a materialized view refresh.
- MATERIALIZED_VIEW_REFRESH = 6;
- }
- // List of the accessed fields. Entire list is truncated if the record size
- // exceeds 100K.
- repeated string fields = 2;
- // True if the fields list was truncated.
- bool fields_truncated = 8;
- // List of the referenced policy tags. That is, policy tags attached to the
- // accessed fields or their ancestors.
- // Policy tag resource name is a string of the format:
- // `projects/<project_id>/locations/<location_id>/taxonomies/<taxonomy_id>/policyTags/<policy_tag_id>`
- repeated string policy_tags = 9;
- // True if the policy tag list was truncated. At most 100 policy tags can be
- // saved.
- bool policy_tags_truncated = 10;
- // Describes how the table data was read.
- Reason reason = 3;
- // The URI of the job that read a table.
- // Present if the reason is JOB but can be redacted for privacy reasons.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 4;
- // The URI of the read session that read a table.
- // Present if the reason is CREATE_READ_SESSION.
- //
- // Format:
- // `projects/<project_id>/locations/<location>/sessions/<session_id>`.
- string session_name = 5;
- }
- // Table metadata change event.
- message TableChange {
- // Describes how the table metadata was changed.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Table metadata was updated using the tables.update or tables.patch API.
- TABLE_UPDATE_REQUEST = 1;
- // Table was used as a job destination table.
- JOB = 2;
- // Table metadata was updated using a DML or DDL query.
- QUERY = 3;
- }
- // Updated table metadata.
- Table table = 1;
- // True if the table was truncated.
- bool truncated = 4;
- // Describes how the table metadata was changed.
- Reason reason = 5;
- // The URI of the job that changed a table.
- // Present if the reason is JOB or QUERY.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 6;
- }
- // Model metadata change event.
- message ModelMetadataChange {
- // Describes how the model metadata was changed.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Model metadata was updated using the models.patch API.
- MODEL_PATCH_REQUEST = 1;
- // Model metadata was updated using a DDL query.
- QUERY = 2;
- }
- // Updated model.
- Model model = 1;
- // Describes how the model metadata was changed.
- Reason reason = 2;
- // The URI of the job that changed the model metadata.
- // Present if and only if the reason is QUERY.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 3;
- }
- // Routine change event.
- message RoutineChange {
- // Describes how the routine was updated.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Routine was updated using a DDL query.
- QUERY = 1;
- // Routine was updated using the routines.update or routines.patch API.
- ROUTINE_UPDATE_REQUEST = 2;
- }
- // Updated routine.
- Routine routine = 1;
- // Describes how the routine was updated.
- Reason reason = 3;
- // The URI of the job that updated the routine.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 4;
- }
- // Table data change event.
- message TableDataChange {
- // Describes how the table data was changed.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Table was used as a job destination table.
- JOB = 1;
- // Table data was updated using a DML or DDL query.
- QUERY = 2;
- // Table data was updated during a materialized view refresh.
- MATERIALIZED_VIEW_REFRESH = 3;
- // Table data was added using the Write API.
- WRITE_API = 4;
- }
- // Number of deleted rows.
- int64 deleted_rows_count = 1;
- // Number of inserted rows.
- int64 inserted_rows_count = 2;
- // True if the table was truncated.
- bool truncated = 3;
- // Describes how the table data was changed.
- Reason reason = 4;
- // The URI of the job that changed a table.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 5;
- // If written from WRITE_API, the name of the stream.
- //
- // Format:
- // `projects/<project_id>/datasets/<dataset_id>/tables/<table_id>/streams/<stream_id>`
- string stream_name = 6;
- }
- // Model data change event.
- message ModelDataChange {
- // Describes how the model data was changed.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Model data was changed using a DDL query.
- QUERY = 1;
- }
- // Describes how the model data was changed.
- Reason reason = 1;
- // The URI of the job that changed the model data.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 2;
- }
- // Model data read event.
- message ModelDataRead {
- // Describes how the model data was read.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Model was used as a source model during a BigQuery job.
- JOB = 1;
- }
- // Describes how the model data was read.
- Reason reason = 1;
- // The URI of the job that read the model data.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 2;
- }
- // Table deletion event.
- message TableDeletion {
- // Describes how the table was deleted.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Table was deleted using the tables.delete API.
- TABLE_DELETE_REQUEST = 2;
- // Table expired.
- EXPIRED = 3;
- // Table deleted using a DDL query.
- QUERY = 4;
- }
- // Describes how table was deleted.
- Reason reason = 1;
- // The URI of the job that deleted a table.
- // Present if the reason is QUERY.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 2;
- }
- // Model deletion event.
- message ModelDeletion {
- // Describes how the model was deleted.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Model was deleted using the models.delete API.
- MODEL_DELETE_REQUEST = 1;
- // Model expired.
- EXPIRED = 2;
- // Model was deleted using DDL query.
- QUERY = 3;
- }
- // Describes how the model was deleted.
- Reason reason = 1;
- // The URI of the job that deleted a model.
- // Present if the reason is QUERY.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 2;
- }
- // Routine deletion event.
- message RoutineDeletion {
- // Describes how the routine was deleted.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Routine was deleted using DDL query.
- QUERY = 1;
- // Routine was deleted using the API.
- ROUTINE_DELETE_REQUEST = 2;
- }
- // Deleted routine.
- Routine routine = 1;
- // Describes how the routine was deleted.
- Reason reason = 3;
- // The URI of the job that deleted the routine.
- // Present if the reason is QUERY.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 4;
- }
- // Row access policy creation event.
- message RowAccessPolicyCreation {
- // The row access policy created by this event.
- RowAccessPolicy row_access_policy = 1;
- // The URI of the job that created this row access policy.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 2;
- }
- // Row access policy change event.
- message RowAccessPolicyChange {
- // The row access policy that was changed by this event.
- RowAccessPolicy row_access_policy = 1;
- // The URI of the job that created this row access policy.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 2;
- }
- // Row access policy deletion event.
- message RowAccessPolicyDeletion {
- // The row access policies that were deleted. At present, only populated
- // when a single policy is dropped.
- repeated RowAccessPolicy row_access_policies = 1;
- // The job that deleted these row access policies.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 2;
- // This field is set to true when a DROP ALL command has been executed, thus
- // removing all row access policies on the table.
- bool all_row_access_policies_dropped = 3;
- }
- // Unlink linked dataset from its source dataset event
- message UnlinkDataset {
- // Describes how the unlinking operation occurred.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
- // Linked dataset unlinked via API
- UNLINK_API = 1;
- }
- // The linked dataset URI which is unlinked from its source.
- //
- // Format: `projects/<project_id>/datasets/<dataset_id>`.
- string linked_dataset = 1;
- // The source dataset URI from which the linked dataset is unlinked.
- //
- // Format: `projects/<project_id>/datasets/<dataset_id>`.
- string source_dataset = 2;
- // Reason for unlinking linked dataset
- Reason reason = 3;
- }
- // BigQuery job.
- message Job {
- // Job URI.
- //
- // Format: `projects/<project_id>/jobs/<job_id>`.
- string job_name = 1;
- // Job configuration.
- JobConfig job_config = 2;
- // Job status.
- JobStatus job_status = 3;
- // Job statistics.
- JobStats job_stats = 4;
- }
- // Job configuration.
- // See the [Jobs](https://cloud.google.com/bigquery/docs/reference/v2/jobs)
- // API resource for more details on individual fields.
- message JobConfig {
- // Job type.
- enum Type {
- // Unknown.
- TYPE_UNSPECIFIED = 0;
- // Query job.
- QUERY = 1;
- // Table copy job.
- COPY = 2;
- // Export (extract) job.
- EXPORT = 3;
- // Import (load) job.
- IMPORT = 4;
- }
- // Query job configuration.
- message Query {
- // Priority given to the query.
- enum Priority {
- // Unknown.
- PRIORITY_UNSPECIFIED = 0;
- // Interactive query.
- QUERY_INTERACTIVE = 1;
- // Batch query.
- QUERY_BATCH = 2;
- }
- // The SQL query to run. Truncated if exceeds 50K.
- string query = 1;
- // True if the query field was truncated.
- bool query_truncated = 10;
- // The destination table for the query results.
- string destination_table = 2;
- // Destination table create disposition.
- CreateDisposition create_disposition = 3;
- // Destination table write disposition.
- WriteDisposition write_disposition = 4;
- // Default dataset for the query.
- string default_dataset = 5;
- // External data sources used in the query.
- repeated TableDefinition table_definitions = 6;
- // Priority given to the query.
- Priority priority = 7;
- // Result table encryption information. Set when non-default encryption is
- // used.
- EncryptionInfo destination_table_encryption = 8;
- // Type of the query.
- QueryStatementType statement_type = 9;
- }
- // Load job configuration.
- message Load {
- // URIs for the data to be imported. Entire list is truncated if exceeds
- // 40K.
- repeated string source_uris = 1;
- // True if the source_URIs field was truncated.
- bool source_uris_truncated = 7;
- // The table schema in JSON format. Entire field is truncated if exceeds
- // 40K.
- string schema_json = 2;
- // True if the schema_json field was truncated.
- bool schema_json_truncated = 8;
- // The destination table for the import.
- string destination_table = 3;
- // Destination table create disposition.
- CreateDisposition create_disposition = 4;
- // Destination table write disposition.
- WriteDisposition write_disposition = 5;
- // Result table encryption information. Set when non-default encryption is
- // used.
- EncryptionInfo destination_table_encryption = 6;
- }
- // Extract job configuration.
- message Extract {
- // URIs where extracted data should be written. Entire list is truncated
- // if exceeds 50K.
- repeated string destination_uris = 1;
- // True if the destination_URIs field was truncated.
- bool destination_uris_truncated = 3;
- oneof source {
- // The source table.
- string source_table = 2;
- // The source model.
- string source_model = 4;
- }
- }
- // Table copy job configuration.
- message TableCopy {
- // Source tables. Entire list is truncated if exceeds 50K.
- repeated string source_tables = 1;
- // True if the source_tables field was truncated.
- bool source_tables_truncated = 6;
- // Destination table.
- string destination_table = 2;
- // Destination table create disposition.
- CreateDisposition create_disposition = 3;
- // Destination table write disposition.
- WriteDisposition write_disposition = 4;
- // Result table encryption information. Set when non-default encryption is
- // used.
- EncryptionInfo destination_table_encryption = 5;
- // Supported operation types in the table copy job.
- OperationType operation_type = 7;
- // Expiration time set on the destination table. Expired tables will be
- // deleted and their storage reclaimed.
- google.protobuf.Timestamp destination_expiration_time = 8;
- }
- // Job type.
- Type type = 1;
- // Job configuration information.
- oneof config {
- // Query job information.
- Query query_config = 2;
- // Load job information.
- Load load_config = 3;
- // Extract job information.
- Extract extract_config = 4;
- // TableCopy job information.
- TableCopy table_copy_config = 5;
- }
- // Labels provided for the job.
- map<string, string> labels = 6;
- }
- // Definition of an external data source used in a query.
- message TableDefinition {
- // Name of the table, used in queries.
- string name = 1;
- // URIs for the data.
- repeated string source_uris = 2;
- }
- // Describes whether a job should create a destination table if it doesn't
- // exist.
- enum CreateDisposition {
- // Unknown.
- CREATE_DISPOSITION_UNSPECIFIED = 0;
- // This job should never create tables.
- CREATE_NEVER = 1;
- // This job should create a table if it doesn't already exist.
- CREATE_IF_NEEDED = 2;
- }
- // Describes whether a job should overwrite or append the existing destination
- // table if it already exists.
- enum WriteDisposition {
- // Unknown.
- WRITE_DISPOSITION_UNSPECIFIED = 0;
- // This job should only be writing to empty tables.
- WRITE_EMPTY = 1;
- // This job will truncate the existing table data.
- WRITE_TRUNCATE = 2;
- // This job will append to the table.
- WRITE_APPEND = 3;
- }
- // Table copy job operation type.
- enum OperationType {
- // Unspecified operation type.
- OPERATION_TYPE_UNSPECIFIED = 0;
- // The source and the destination table have the same table type.
- COPY = 1;
- // The source table type is TABLE and
- // the destination table type is SNAPSHOT.
- SNAPSHOT = 2;
- // The source table type is SNAPSHOT and
- // the destination table type is TABLE.
- RESTORE = 3;
- }
- // State of a job.
- enum JobState {
- // State unknown.
- JOB_STATE_UNSPECIFIED = 0;
- // Job is waiting for the resources.
- PENDING = 1;
- // Job is running.
- RUNNING = 2;
- // Job is done.
- DONE = 3;
- }
- // Type of the statement (e.g. SELECT, INSERT, CREATE_TABLE, CREATE_MODEL..)
- enum QueryStatementType {
- // Unknown.
- QUERY_STATEMENT_TYPE_UNSPECIFIED = 0;
- // SELECT ... FROM <Table list> ...
- SELECT = 1;
- // ASSERT <condition> AS 'description'
- ASSERT = 23;
- // INSERT INTO <Table> ....
- INSERT = 2;
- // UPDATE <Table> SET ...
- UPDATE = 3;
- // DELETE <Table> ...
- DELETE = 4;
- // MERGE INTO <Table> ....
- MERGE = 5;
- // CREATE TABLE <Table> <column list>
- CREATE_TABLE = 6;
- // CREATE TABLE <Table> AS SELECT
- CREATE_TABLE_AS_SELECT = 7;
- // CREATE VIEW <View>
- CREATE_VIEW = 8;
- // CREATE MODEL <Model> AS <Query>
- CREATE_MODEL = 9;
- // CREATE MATERIALIZED VIEW <View> AS ...
- CREATE_MATERIALIZED_VIEW = 13;
- // CREATE FUNCTION <Function>(<Signature>) AS ...
- CREATE_FUNCTION = 14;
- // CREATE TABLE FUNCTION <Function>(<Signature>) AS ...
- CREATE_TABLE_FUNCTION = 56;
- // CREATE PROCEDURE <Procedure>
- CREATE_PROCEDURE = 20;
- // CREATE ROW ACCESS POLICY <RowAccessPolicy> ON <Table>
- CREATE_ROW_ACCESS_POLICY = 24;
- // CREATE SCHEMA <Schema>
- CREATE_SCHEMA = 53;
- // CREATE SNAPSHOT TABLE <Snapshot> CLONE <Table>
- CREATE_SNAPSHOT_TABLE = 59;
- // DROP TABLE <Table>
- DROP_TABLE = 10;
- // DROP EXTERNAL TABLE <Table>
- DROP_EXTERNAL_TABLE = 33;
- // DROP VIEW <View>
- DROP_VIEW = 11;
- // DROP MODEL <Model>
- DROP_MODEL = 12;
- // DROP MATERIALIZED VIEW <View>
- DROP_MATERIALIZED_VIEW = 15;
- // DROP FUNCTION <Function>
- DROP_FUNCTION = 16;
- // DROP PROCEDURE <Procedure>
- DROP_PROCEDURE = 21;
- // DROP SCHEMA <Schema>
- DROP_SCHEMA = 54;
- // DROP ROW ACCESS POLICY <RowAccessPolicy> ON <Table> <or> DROP
- // ALL ROW ACCESS POLICIES ON ON <Table>
- DROP_ROW_ACCESS_POLICY = 25;
- // DROP SNAPSHOT TABLE <Snapshot>
- DROP_SNAPSHOT_TABLE = 62;
- // ALTER TABLE <Table>
- ALTER_TABLE = 17;
- // ALTER VIEW <View>
- ALTER_VIEW = 18;
- // ALTER MATERIALIZED_VIEW <view>
- ALTER_MATERIALIZED_VIEW = 22;
- // ALTER SCHEMA <Schema>
- ALTER_SCHEMA = 55;
- // Script
- SCRIPT = 19;
- // TRUNCATE TABLE <Table>
- TRUNCATE_TABLE = 26;
- // CREATE EXTERNAL TABLE <TABLE>
- CREATE_EXTERNAL_TABLE = 27;
- // EXPORT DATA;
- EXPORT_DATA = 28;
- // CALL <stored procedure>
- CALL = 29;
- }
- // Status of a job.
- message JobStatus {
- // State of the job.
- JobState job_state = 1;
- // Job error, if the job failed.
- google.rpc.Status error_result = 2;
- // Errors encountered during the running of the job. Does not necessarily
- // mean that the job has completed or was unsuccessful.
- repeated google.rpc.Status errors = 3;
- }
- // Job statistics.
- message JobStats {
- // Query job statistics.
- message Query {
- // Total bytes processed by the query job.
- int64 total_processed_bytes = 1;
- // Total bytes billed by the query job.
- int64 total_billed_bytes = 2;
- // The tier assigned by the CPU-based billing.
- int32 billing_tier = 3;
- // Tables accessed by the query job.
- repeated string referenced_tables = 6;
- // Views accessed by the query job.
- repeated string referenced_views = 7;
- // Routines accessed by the query job.
- repeated string referenced_routines = 10;
- // Number of output rows produced by the query job.
- int64 output_row_count = 8;
- // True if the query job results were read from the query cache.
- bool cache_hit = 9;
- }
- // Load job statistics.
- message Load {
- // Total bytes loaded by the import job.
- int64 total_output_bytes = 1;
- }
- // Extract job statistics.
- message Extract {
- // Total bytes exported by the extract job.
- int64 total_input_bytes = 1;
- }
- // Job resource usage breakdown by reservation.
- message ReservationResourceUsage {
- // Reservation name or "unreserved" for on-demand resources usage.
- string name = 1;
- // Total slot milliseconds used by the reservation for a particular job.
- int64 slot_ms = 2;
- }
- // Job creation time.
- google.protobuf.Timestamp create_time = 1;
- // Job execution start time.
- google.protobuf.Timestamp start_time = 2;
- // Job completion time.
- google.protobuf.Timestamp end_time = 3;
- // Statistics specific to the job type.
- oneof extended {
- // Query job statistics.
- Query query_stats = 8;
- // Load job statistics.
- Load load_stats = 9;
- // Extract job statistics.
- Extract extract_stats = 13;
- }
- // The total number of slot-ms consumed by the query job.
- int64 total_slot_ms = 10;
- // Reservation usage attributed from each tier of a reservation hierarchy.
- repeated ReservationResourceUsage reservation_usage = 11;
- // Parent job name. Only present for child jobs.
- string parent_job_name = 12;
- }
- // BigQuery table.
- message Table {
- // Table URI.
- //
- // Format: `projects/<project_id>/datasets/<dataset_id>/tables/<table_id>`.
- string table_name = 1;
- // User-provided metadata for the table.
- EntityInfo table_info = 10;
- // A JSON representation of the table's schema. Entire field is truncated
- // if exceeds 40K.
- string schema_json = 3;
- // True if the schema_json field was truncated.
- bool schema_json_truncated = 11;
- // View metadata. Only present for views.
- TableViewDefinition view = 4;
- // Table expiration time.
- google.protobuf.Timestamp expire_time = 5;
- // The table creation time.
- google.protobuf.Timestamp create_time = 6;
- // The last time metadata update time.
- google.protobuf.Timestamp update_time = 7;
- // The last table truncation time.
- google.protobuf.Timestamp truncate_time = 8;
- // Table encryption information. Set when non-default encryption is used.
- EncryptionInfo encryption = 9;
- }
- // Trained BigQuery ML model.
- message Model {
- // Model URI.
- //
- // Format: `projects/<project_id>/datasets/<dataset_id>/models/<model_id>`.
- string model_name = 1;
- // User-provided metadata for the model.
- EntityInfo model_info = 2;
- // Model expiration time.
- google.protobuf.Timestamp expire_time = 5;
- // Model creation time.
- google.protobuf.Timestamp create_time = 6;
- // Model last update time.
- google.protobuf.Timestamp update_time = 7;
- // Model encryption information. Set when non-default encryption is used.
- EncryptionInfo encryption = 8;
- }
- // User Defined Function (UDF) or Stored Procedure.
- message Routine {
- // Routine URI.
- //
- // Format:
- // `projects/<project_id>/datasets/<dataset_id>/routines/<routine_id>`.
- string routine_name = 1;
- // Routine creation time.
- google.protobuf.Timestamp create_time = 5;
- // Routine last update time.
- google.protobuf.Timestamp update_time = 6;
- }
- // User-provided metadata for an entity, for e.g. dataset, table or model.
- message EntityInfo {
- // A short name for the entity.
- string friendly_name = 1;
- // A long description for the entity.
- string description = 2;
- // Labels provided for the entity.
- map<string, string> labels = 3;
- }
- // View definition.
- message TableViewDefinition {
- // SQL query defining the view. Truncated if exceeds 40K.
- string query = 1;
- // True if the schema_json field was truncated.
- bool query_truncated = 2;
- }
- // BigQuery dataset.
- message Dataset {
- // Dataset URI.
- //
- // Format: `projects/<project_id>/datasets/<dataset_id>`.
- string dataset_name = 1;
- // User-provided metadata for the dataset.
- EntityInfo dataset_info = 7;
- // Dataset creation time.
- google.protobuf.Timestamp create_time = 3;
- // Dataset metadata last update time.
- google.protobuf.Timestamp update_time = 4;
- // The access control list for the dataset.
- BigQueryAcl acl = 5;
- // Default expiration time for tables in the dataset.
- google.protobuf.Duration default_table_expire_duration = 6;
- // Default encryption for tables in the dataset.
- EncryptionInfo default_encryption = 8;
- // Default collation for the dataset.
- string default_collation = 9;
- }
- // An access control list.
- message BigQueryAcl {
- // IAM policy for the resource.
- google.iam.v1.Policy policy = 1;
- // List of authorized views for a dataset.
- //
- // Format: `projects/<project_id>/datasets/<dataset_id>/tables/<view_id>`.
- repeated string authorized_views = 2;
- }
- // Encryption properties for a table or a job
- message EncryptionInfo {
- // Cloud kms key identifier.
- //
- // Format:
- // `projects/<project_id>/locations/<location>/keyRings/<key_ring_name>/cryptoKeys/<key_name>`
- string kms_key_name = 1;
- }
- // BigQuery row access policy.
- message RowAccessPolicy {
- // Row access policy URI.
- //
- // Format:
- // `projects/<project_id>/datasets/<dataset_id>/tables/<table_id>/rowAccessPolicies/<row_access_policy_id>`
- string row_access_policy_name = 1;
- }
- // First party (Google) application specific request metadata.
- message FirstPartyAppMetadata {
- oneof metadata {
- // Google Sheets metadata.
- SheetsMetadata sheets_metadata = 1;
- }
- }
- // Google Sheets specific request metadata.
- message SheetsMetadata {
- // The ID of the spreadsheet from which the request is sent.
- string doc_id = 1;
- }
- // BigQuery event information.
- oneof event {
- // Job insertion event.
- JobInsertion job_insertion = 1;
- // Job state change event.
- JobChange job_change = 2;
- // Job deletion event.
- JobDeletion job_deletion = 23;
- // Dataset creation event.
- DatasetCreation dataset_creation = 3;
- // Dataset change event.
- DatasetChange dataset_change = 4;
- // Dataset deletion event.
- DatasetDeletion dataset_deletion = 5;
- // Table creation event.
- TableCreation table_creation = 6;
- // Table metadata change event.
- TableChange table_change = 8;
- // Table deletion event.
- TableDeletion table_deletion = 9;
- // Table data read event.
- TableDataRead table_data_read = 10;
- // Table data change event.
- TableDataChange table_data_change = 11;
- // Model deletion event.
- ModelDeletion model_deletion = 12;
- // Model creation event.
- ModelCreation model_creation = 13;
- // Model metadata change event.
- ModelMetadataChange model_metadata_change = 14;
- // Model data change event.
- ModelDataChange model_data_change = 15;
- // Model data read event.
- ModelDataRead model_data_read = 19;
- // Routine creation event.
- RoutineCreation routine_creation = 16;
- // Routine change event.
- RoutineChange routine_change = 17;
- // Routine deletion event.
- RoutineDeletion routine_deletion = 18;
- // Row access policy create event.
- RowAccessPolicyCreation row_access_policy_creation = 20;
- // Row access policy change event.
- RowAccessPolicyChange row_access_policy_change = 21;
- // Row access policy deletion event.
- RowAccessPolicyDeletion row_access_policy_deletion = 22;
- // Unlink linked dataset from its source dataset event
- UnlinkDataset unlink_dataset = 25;
- }
- // First party (Google) application specific metadata.
- FirstPartyAppMetadata first_party_app_metadata = 24;
- }
|