singer_sdk.RecordSink

class singer_sdk.RecordSink(target: singer_sdk.plugin_base.PluginBase, stream_name: str, schema: Dict, key_properties: Optional[List[str]])

Base class for singleton record writers.

process_batch(context: dict)None

Do nothing and return immediately.

The RecordSink class does not support batching.

This method may not be overridden.

Parameters

context – Stream partition or context dictionary.

abstract process_record(record: dict, context: dict)None

Load the latest record from the stream.

This method must be overridden.

Implementations should permanently serialize each record to the target prior to returning.

If duplicates are merged/skipped instead of being loaded, merges can be tracked via tally_duplicate_merged().

Parameters
  • record – Individual record in the stream.

  • context – Stream partition or context dictionary.

start_batch(context: dict)None

Do nothing and return immediately.

The RecordSink class does not support batching.

This method may not be overridden.

Parameters

context – Stream partition or context dictionary.