Cloud PubSub V1 Client - Class ColumnFamilyMapping (2.23.0)

Reference documentation and code samples for the Cloud PubSub V1 Client class ColumnFamilyMapping.

Configuration for writing a Pub/Sub message to a Bigtable row with a user-defined key and writing to column families.

If this field is set:

  • The subscription messages must be formatted as JSON.
  • The row key mapping is configured in the key_definition section.
  • The top-level fields will be written either:
    • By default, they will be written to the data column family with the field name as the column qualifier.
    • But if the field name matches an existing column family (except for the default data column), then that field will be written to that column family, either as a scalar or its next level nested fields if it's a JSON object.
  • The cell timestamp will be the message publish timestamp. If the field is not set, the default behavior is to write:
  • row key: subscription name, message ID hash, 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.

Generated from protobuf message google.pubsub.v1.BigtableConfig.ColumnFamilyMapping

Namespace

Google \ Cloud \ PubSub \ V1 \ BigtableConfig

Methods

__construct

Constructor.

Parameters
Name Description
data array

Optional. Data for populating the Message object.

↳ row_key_schema ColumnFamilyMapping\RowKeySchema

Optional. If set, the row key is constructed from the field names of the table's structured row key ({$universe.dns_names.final_documentation_domain}/bigtable/docs/manage-row-key-schemas). Note that if the field is nullable in the structured row key, then it need not be present in the message; null will be used instead.

↳ delimited_key ColumnFamilyMapping\DelimitedKey

Optional. If set, the row key is constructed from the given key fields and delimiter. All key fields must be present in the message; otherwise, the message remains in the subscription backlog.

getRowKeySchema

Optional. If set, the row key is constructed from the field names of the table's structured row key ({$universe.dns_names.final_documentation_domain}/bigtable/docs/manage-row-key-schemas).

Note that if the field is nullable in the structured row key, then it need not be present in the message; null will be used instead.

Returns
Type Description
ColumnFamilyMapping\RowKeySchema|null

hasRowKeySchema

setRowKeySchema

Optional. If set, the row key is constructed from the field names of the table's structured row key ({$universe.dns_names.final_documentation_domain}/bigtable/docs/manage-row-key-schemas).

Note that if the field is nullable in the structured row key, then it need not be present in the message; null will be used instead.

Parameter
Name Description
var ColumnFamilyMapping\RowKeySchema
Returns
Type Description
$this

getDelimitedKey

Optional. If set, the row key is constructed from the given key fields and delimiter. All key fields must be present in the message; otherwise, the message remains in the subscription backlog.

Returns
Type Description
ColumnFamilyMapping\DelimitedKey|null

hasDelimitedKey

setDelimitedKey

Optional. If set, the row key is constructed from the given key fields and delimiter. All key fields must be present in the message; otherwise, the message remains in the subscription backlog.

Parameter
Name Description
var ColumnFamilyMapping\DelimitedKey
Returns
Type Description
$this

getKeyDefinition

Returns
Type Description
string