Class: Google::Cloud::PubSub::V1::BigtableConfig

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/pubsub/v1/pubsub.rb

Overview

Configuration for a Bigtable subscription. The Pub/Sub message will be written to a Bigtable row as follows:

  • row key: subscription name and message ID delimited by #.
  • columns: message bytes written to a single column family "data" with an empty-string column qualifier.
  • cell timestamp: the message publish timestamp.

Defined Under Namespace

Modules: State

Instance Attribute Summary collapse

Instance Attribute Details

#app_profile_id::String

Returns Optional. The app profile to use for the Bigtable writes. If not specified, the "default" application profile will be used. The app profile must use single-cluster routing.

Returns:

  • (::String)

    Optional. The app profile to use for the Bigtable writes. If not specified, the "default" application profile will be used. The app profile must use single-cluster routing.



1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
# File 'proto_docs/google/pubsub/v1/pubsub.rb', line 1650

class BigtableConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Possible states for a Bigtable subscription.
  # Note: more states could be added in the future. Please code accordingly.
  module State
    # Default value. This value is unused.
    STATE_UNSPECIFIED = 0

    # The subscription can actively send messages to Bigtable.
    ACTIVE = 1

    # Cannot write to Bigtable because the instance, table, or app profile
    # does not exist.
    NOT_FOUND = 2

    # Cannot write to Bigtable because the app profile is not configured for
    # single-cluster routing.
    APP_PROFILE_MISCONFIGURED = 3

    # Cannot write to Bigtable because of permission denied errors.
    # This can happen if:
    # - The Pub/Sub service agent has not been granted the
    #   [appropriate Bigtable IAM permission
    #   bigtable.tables.mutateRows](\\{$universe.dns_names.final_documentation_domain}/bigtable/docs/access-control#permissions)
    # - The bigtable.googleapis.com API is not enabled for the project
    #   ([instructions](\\{$universe.dns_names.final_documentation_domain}/service-usage/docs/enable-disable))
    PERMISSION_DENIED = 4

    # Cannot write to Bigtable because of a missing column family ("data") or
    # if there is no structured row key for the subscription name + message ID.
    SCHEMA_MISMATCH = 5

    # Cannot write to the destination because enforce_in_transit is set to true
    # and the destination locations are not in the allowed regions.
    IN_TRANSIT_LOCATION_RESTRICTION = 6

    # Cannot write to Bigtable because the table is not in the same location as
    # where Vertex AI models used in `message_transform`s are deployed.
    VERTEX_AI_LOCATION_RESTRICTION = 7
  end
end

#service_account_email::String

Returns Optional. The service account to use to write to Bigtable. The subscription creator or updater that specifies this field must have iam.serviceAccounts.actAs permission on the service account. If not specified, the Pub/Sub service agent, service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.

Returns:

  • (::String)

    Optional. The service account to use to write to Bigtable. The subscription creator or updater that specifies this field must have iam.serviceAccounts.actAs permission on the service account. If not specified, the Pub/Sub service agent, service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.



1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
# File 'proto_docs/google/pubsub/v1/pubsub.rb', line 1650

class BigtableConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Possible states for a Bigtable subscription.
  # Note: more states could be added in the future. Please code accordingly.
  module State
    # Default value. This value is unused.
    STATE_UNSPECIFIED = 0

    # The subscription can actively send messages to Bigtable.
    ACTIVE = 1

    # Cannot write to Bigtable because the instance, table, or app profile
    # does not exist.
    NOT_FOUND = 2

    # Cannot write to Bigtable because the app profile is not configured for
    # single-cluster routing.
    APP_PROFILE_MISCONFIGURED = 3

    # Cannot write to Bigtable because of permission denied errors.
    # This can happen if:
    # - The Pub/Sub service agent has not been granted the
    #   [appropriate Bigtable IAM permission
    #   bigtable.tables.mutateRows](\\{$universe.dns_names.final_documentation_domain}/bigtable/docs/access-control#permissions)
    # - The bigtable.googleapis.com API is not enabled for the project
    #   ([instructions](\\{$universe.dns_names.final_documentation_domain}/service-usage/docs/enable-disable))
    PERMISSION_DENIED = 4

    # Cannot write to Bigtable because of a missing column family ("data") or
    # if there is no structured row key for the subscription name + message ID.
    SCHEMA_MISMATCH = 5

    # Cannot write to the destination because enforce_in_transit is set to true
    # and the destination locations are not in the allowed regions.
    IN_TRANSIT_LOCATION_RESTRICTION = 6

    # Cannot write to Bigtable because the table is not in the same location as
    # where Vertex AI models used in `message_transform`s are deployed.
    VERTEX_AI_LOCATION_RESTRICTION = 7
  end
end

#state::Google::Cloud::PubSub::V1::BigtableConfig::State (readonly)

Returns Output only. An output-only field that indicates whether or not the subscription can receive messages.

Returns:



1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
# File 'proto_docs/google/pubsub/v1/pubsub.rb', line 1650

class BigtableConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Possible states for a Bigtable subscription.
  # Note: more states could be added in the future. Please code accordingly.
  module State
    # Default value. This value is unused.
    STATE_UNSPECIFIED = 0

    # The subscription can actively send messages to Bigtable.
    ACTIVE = 1

    # Cannot write to Bigtable because the instance, table, or app profile
    # does not exist.
    NOT_FOUND = 2

    # Cannot write to Bigtable because the app profile is not configured for
    # single-cluster routing.
    APP_PROFILE_MISCONFIGURED = 3

    # Cannot write to Bigtable because of permission denied errors.
    # This can happen if:
    # - The Pub/Sub service agent has not been granted the
    #   [appropriate Bigtable IAM permission
    #   bigtable.tables.mutateRows](\\{$universe.dns_names.final_documentation_domain}/bigtable/docs/access-control#permissions)
    # - The bigtable.googleapis.com API is not enabled for the project
    #   ([instructions](\\{$universe.dns_names.final_documentation_domain}/service-usage/docs/enable-disable))
    PERMISSION_DENIED = 4

    # Cannot write to Bigtable because of a missing column family ("data") or
    # if there is no structured row key for the subscription name + message ID.
    SCHEMA_MISMATCH = 5

    # Cannot write to the destination because enforce_in_transit is set to true
    # and the destination locations are not in the allowed regions.
    IN_TRANSIT_LOCATION_RESTRICTION = 6

    # Cannot write to Bigtable because the table is not in the same location as
    # where Vertex AI models used in `message_transform`s are deployed.
    VERTEX_AI_LOCATION_RESTRICTION = 7
  end
end

#table::String

Returns Optional. The unique name of the table to write messages to.

Values are of the form projects/<project>/instances/<instance>/tables/<table>.

Returns:

  • (::String)

    Optional. The unique name of the table to write messages to.

    Values are of the form projects/<project>/instances/<instance>/tables/<table>.



1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
# File 'proto_docs/google/pubsub/v1/pubsub.rb', line 1650

class BigtableConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Possible states for a Bigtable subscription.
  # Note: more states could be added in the future. Please code accordingly.
  module State
    # Default value. This value is unused.
    STATE_UNSPECIFIED = 0

    # The subscription can actively send messages to Bigtable.
    ACTIVE = 1

    # Cannot write to Bigtable because the instance, table, or app profile
    # does not exist.
    NOT_FOUND = 2

    # Cannot write to Bigtable because the app profile is not configured for
    # single-cluster routing.
    APP_PROFILE_MISCONFIGURED = 3

    # Cannot write to Bigtable because of permission denied errors.
    # This can happen if:
    # - The Pub/Sub service agent has not been granted the
    #   [appropriate Bigtable IAM permission
    #   bigtable.tables.mutateRows](\\{$universe.dns_names.final_documentation_domain}/bigtable/docs/access-control#permissions)
    # - The bigtable.googleapis.com API is not enabled for the project
    #   ([instructions](\\{$universe.dns_names.final_documentation_domain}/service-usage/docs/enable-disable))
    PERMISSION_DENIED = 4

    # Cannot write to Bigtable because of a missing column family ("data") or
    # if there is no structured row key for the subscription name + message ID.
    SCHEMA_MISMATCH = 5

    # Cannot write to the destination because enforce_in_transit is set to true
    # and the destination locations are not in the allowed regions.
    IN_TRANSIT_LOCATION_RESTRICTION = 6

    # Cannot write to Bigtable because the table is not in the same location as
    # where Vertex AI models used in `message_transform`s are deployed.
    VERTEX_AI_LOCATION_RESTRICTION = 7
  end
end

#write_metadata::Boolean

Returns Optional. When true, write the subscription name, message_id, publish_time, attributes, and ordering_key to additional columns in the table under the pubsub_metadata column family. The subscription name, message_id, and publish_time fields are put in their own columns while all other message properties (other than data) are written to a JSON object in the attributes column.

Returns:

  • (::Boolean)

    Optional. When true, write the subscription name, message_id, publish_time, attributes, and ordering_key to additional columns in the table under the pubsub_metadata column family. The subscription name, message_id, and publish_time fields are put in their own columns while all other message properties (other than data) are written to a JSON object in the attributes column.



1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
# File 'proto_docs/google/pubsub/v1/pubsub.rb', line 1650

class BigtableConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Possible states for a Bigtable subscription.
  # Note: more states could be added in the future. Please code accordingly.
  module State
    # Default value. This value is unused.
    STATE_UNSPECIFIED = 0

    # The subscription can actively send messages to Bigtable.
    ACTIVE = 1

    # Cannot write to Bigtable because the instance, table, or app profile
    # does not exist.
    NOT_FOUND = 2

    # Cannot write to Bigtable because the app profile is not configured for
    # single-cluster routing.
    APP_PROFILE_MISCONFIGURED = 3

    # Cannot write to Bigtable because of permission denied errors.
    # This can happen if:
    # - The Pub/Sub service agent has not been granted the
    #   [appropriate Bigtable IAM permission
    #   bigtable.tables.mutateRows](\\{$universe.dns_names.final_documentation_domain}/bigtable/docs/access-control#permissions)
    # - The bigtable.googleapis.com API is not enabled for the project
    #   ([instructions](\\{$universe.dns_names.final_documentation_domain}/service-usage/docs/enable-disable))
    PERMISSION_DENIED = 4

    # Cannot write to Bigtable because of a missing column family ("data") or
    # if there is no structured row key for the subscription name + message ID.
    SCHEMA_MISMATCH = 5

    # Cannot write to the destination because enforce_in_transit is set to true
    # and the destination locations are not in the allowed regions.
    IN_TRANSIT_LOCATION_RESTRICTION = 6

    # Cannot write to Bigtable because the table is not in the same location as
    # where Vertex AI models used in `message_transform`s are deployed.
    VERTEX_AI_LOCATION_RESTRICTION = 7
  end
end