ColumnFamilyMapping(mapping=None, *, ignore_unknown_fields=False, **kwargs)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_definitionsection. The top-level fields will be written either:
- By default, they will be written to the
datacolumn family with the field name as the column qualifier. - But if the field name matches an existing column family (except
for the default
datacolumn), 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.
- By default, they will be written to the
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
datawith an empty-string column qualifier. - cell timestamp: the message publish timestamp.
This message has oneof_ fields (mutually exclusive fields).
For each oneof, at most one member field can be set at the same time.
Setting any member of the oneof automatically clears all other
members.
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
Attributes |
|
|---|---|
| Name | Description |
row_key_schema
:noindex: |
google.pubsub_v1.types.BigtableConfig.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. This field is a member of oneof_ key_definition.
|
delimited_key
:noindex: |
google.pubsub_v1.types.BigtableConfig.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. This field is a member of oneof_ key_definition.
|
Classes
DelimitedKey
DelimitedKey(mapping=None, *, ignore_unknown_fields=False, **kwargs)Row key definition based on fields from the message.
RowKeySchema
RowKeySchema(mapping=None, *, ignore_unknown_fields=False, **kwargs)Row key definition that reads the input message fields based on 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.