NAME

gcloud datastream streams update - updates a Datastream stream

SYNOPSIS

gcloud datastream streams update (STREAM : --location=LOCATION) [--display-name=DISPLAY_NAME] [--state=STATE] [--update-labels=[KEY=VALUE,...]] [--update-mask=UPDATE_MASK] [--backfill-none | --backfill-all --mysql-excluded-objects=MYSQL_EXCLUDED_OBJECTS | --oracle-excluded-objects=ORACLE_EXCLUDED_OBJECTS | --postgresql-excluded-objects=POSTGRESQL_EXCLUDED_OBJECTS] [--clear-labels | --remove-labels=[KEY,...]] [--destination=DESTINATION : --bigquery-destination-config=BIGQUERY_DESTINATION_CONFIG | --gcs-destination-config=GCS_DESTINATION_CONFIG] [--force | --validate-only] [--source=SOURCE : --mysql-source-config=MYSQL_SOURCE_CONFIG | --oracle-source-config=ORACLE_SOURCE_CONFIG | --postgresql-source-config=POSTGRESQL_SOURCE_CONFIG] [GCLOUD_WIDE_FLAG ...]

DESCRIPTION

Create a Datastream stream

EXAMPLES

To update a stream with a new source and new display name:

$ gcloud datastream streams update STREAM --location=us-central1 \ --display-name=my-stream --source=source \ --update-mask=display_name,source

To update a stream's state to RUNNING:

$ gcloud datastream streams update STREAM --location=us-central1 \ --state=RUNNING --update-mask=state

To update a stream's oracle source config:

$ gcloud datastream streams update STREAM --location=us-central1 \ --oracle-source-config=good_oracle_cp.json \ --update-mask=oracle_source_config.include_objects

POSITIONAL ARGUMENTS

Stream resource - The stream to update. The arguments in this group can be used

to specify the attributes of this resource. (NOTE) Some attributes are not given arguments in this group but can be set in other ways. To set the project attribute:

provide the argument stream on the command line with a fully specified name;

provide the argument --project on the command line;

set the property core/project.

This must be specified.

STREAM

ID of the stream or fully qualified identifier for the stream. To set the stream attribute:

  • provide the argument stream on the command line.

This positional argument must be specified if any of the other arguments in this group are specified.

--location=LOCATION

The Cloud location for the stream. To set the location attribute:

  • provide the argument stream on the command line with a fully specified name;

  • provide the argument --location on the command line.

FLAGS

--display-name=DISPLAY_NAME

Friendly name for the stream.

--state=STATE

Stream state, can be set to: "RUNNING" or "PAUSED".

--update-labels=[KEY=VALUE,...]

List of label KEY=VALUE pairs to update. If a label exists, its value is modified. Otherwise, a new label is created.

Keys must start with a lowercase character and contain only hyphens (-), underscores (_), lowercase characters, and numbers. Values must contain only hyphens (-), underscores (_), lowercase characters, and numbers.

--update-mask=UPDATE_MASK

Used to specify the fields to be overwritten in the stream resource by the update. If the update mask is used, then a field will be overwritten only if it is in the mask. If the user does not provide a mask then all fields will be overwritten. This is a comma-separated list of fully qualified names of fields, written as snake_case or camelCase. Example: "display_name, source_config.oracle_source_config".

At most one of these can be specified:
--backfill-none

Do not automatically backfill any objects.

--backfill-all

Automatically backfill objects included in the stream source configuration. Specific objects can be excluded.

At most one of these can be specified:
--mysql-excluded-objects=MYSQL_EXCLUDED_OBJECTS

MySQL data source objects to avoid backfilling.

--oracle-excluded-objects=ORACLE_EXCLUDED_OBJECTS

Oracle data source objects to avoid backfilling.

--postgresql-excluded-objects=POSTGRESQL_EXCLUDED_OBJECTS

PostgreSQL data source objects to avoid backfilling.

At most one of these can be specified:
--clear-labels

Remove all labels. If --update-labels is also specified then --clear-labels is applied first.

For example, to remove all labels:

$ gcloud datastream streams update --clear-labels

To remove all existing labels and create two new labels, foo and baz:

$ gcloud datastream streams update --clear-labels \ --update-labels foo=bar,baz=qux

--remove-labels=[KEY,...]

List of label keys to remove. If a label does not exist it is silently ignored. If --update-labels is also specified then --update-labels is applied first.

Connection profile resource - Resource ID of the destination connection

profile. This represents a Cloud resource. (NOTE) Some attributes are not given arguments in this group but can be set in other ways. To set the project attribute:

provide the argument --destination on the command line with a fully specified name;

provide the argument --project on the command line;

set the property core/project. To set the location attribute:

provide the argument --destination on the command line with a fully specified name;

provide the argument --location on the command line.

--destination=DESTINATION

ID of the connection_profile or fully qualified identifier for the connection_profile. To set the connection_profile attribute:

  • provide the argument --destination on the command line.

At most one of these can be specified:
--bigquery-destination-config=BIGQUERY_DESTINATION_CONFIG

Path to a YAML (or JSON) file containing the configuration for Google BigQuery Destination Config.

The JSON file is formatted as follows:

{ "source_hierarchy_datasets": { "dataset_template": { "location": "us-central1", "dataset_id_prefix": "my_prefix", "kms_key_name": "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{cryptoKey}" } }, "data_freshness": 3600 }

--gcs-destination-config=GCS_DESTINATION_CONFIG

Path to a YAML (or JSON) file containing the configuration for Google Cloud Storage Destination Config.

The JSON file is formatted as follows:

{ "path": "some/path", "file_rotation_mb":5, "file_rotation_interval":"15s", "avro_file_format": {} }

At most one of these can be specified:
--force

Update the stream without validating it.

--validate-only

Only validate the stream, but do not update any resources. The default is false.

Connection profile resource - Resource ID of the source connection profile.

This represents a Cloud resource. (NOTE) Some attributes are not given arguments in this group but can be set in other ways. To set the project attribute:

provide the argument --source on the command line with a fully specified name;

provide the argument --project on the command line;

set the property core/project. To set the location attribute:

provide the argument --source on the command line with a fully specified name;

provide the argument --location on the command line.

--source=SOURCE

ID of the connection_profile or fully qualified identifier for the connection_profile. To set the connection_profile attribute:

  • provide the argument --source on the command line.

At most one of these can be specified:
--mysql-source-config=MYSQL_SOURCE_CONFIG

Path to a YAML (or JSON) file containing the configuration for MySQL Source Config.

The JSON file is formatted as follows, with snake_case field naming:

{ "include_objects": {}, "exclude_objects": { "mysql_databases": [ { "database":"sample_database", "mysql_tables": [ { "table": "sample_table", "mysql_columns": [ { "column": "sample_column", } ] } ] } ] } }

--oracle-source-config=ORACLE_SOURCE_CONFIG

Path to a YAML (or JSON) file containing the configuration for Oracle Source Config.

The JSON file is formatted as follows, with snake_case field naming:

{ "include_objects": {}, "exclude_objects": { "oracle_schemas": [ { "schema": "SAMPLE", "oracle_tables": [ { "table": "SAMPLE_TABLE", "oracle_columns": [ { "column": "COL", } ] } ] } ] } }

--postgresql-source-config=POSTGRESQL_SOURCE_CONFIG

Path to a YAML (or JSON) file containing the configuration for PostgreSQL Source Config.

The JSON file is formatted as follows, with snake_case field naming:

{ "include_objects": {}, "exclude_objects": { "postgresql_schemas": [ { "schema": "SAMPLE", "postgresql_tables": [ { "table": "SAMPLE_TABLE", "postgresql_columns": [ { "column": "COL", } ] } ] } ] }, "publication": "SAMPLE_PUBLICATION" }

GCLOUD WIDE FLAGS

These flags are available to all commands: --access-token-file, --account, --billing-project, --configuration, --flags-file, --flatten, --format, --help, --impersonate-service-account, --log-http, --project, --quiet, --trace-token, --user-output-enabled, --verbosity.

Run $ gcloud help for details.

NOTES

This variant is also available:

$ gcloud beta datastream streams update