airbyte_cdk.sources.declarative.transformations.keys_to_lower_transformation

 1#
 2# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
 3#
 4
 5from dataclasses import dataclass
 6from typing import Any, Dict, Optional
 7
 8from airbyte_cdk.sources.declarative.transformations import RecordTransformation
 9from airbyte_cdk.sources.types import Config, StreamSlice, StreamState
10
11
12@dataclass
13class KeysToLowerTransformation(RecordTransformation):
14    def transform(
15        self,
16        record: Dict[str, Any],
17        config: Optional[Config] = None,
18        stream_state: Optional[StreamState] = None,
19        stream_slice: Optional[StreamSlice] = None,
20    ) -> None:
21        for key in set(record.keys()):
22            record[key.lower()] = record.pop(key)
@dataclass
class KeysToLowerTransformation(airbyte_cdk.sources.declarative.transformations.transformation.RecordTransformation):
13@dataclass
14class KeysToLowerTransformation(RecordTransformation):
15    def transform(
16        self,
17        record: Dict[str, Any],
18        config: Optional[Config] = None,
19        stream_state: Optional[StreamState] = None,
20        stream_slice: Optional[StreamSlice] = None,
21    ) -> None:
22        for key in set(record.keys()):
23            record[key.lower()] = record.pop(key)
def transform( self, record: Dict[str, Any], config: Optional[Mapping[str, Any]] = None, stream_state: Optional[Mapping[str, Any]] = None, stream_slice: Optional[airbyte_cdk.StreamSlice] = None) -> None:
15    def transform(
16        self,
17        record: Dict[str, Any],
18        config: Optional[Config] = None,
19        stream_state: Optional[StreamState] = None,
20        stream_slice: Optional[StreamSlice] = None,
21    ) -> None:
22        for key in set(record.keys()):
23            record[key.lower()] = record.pop(key)

Transform a record by adding, deleting, or mutating fields directly from the record reference passed in argument.

Parameters
  • record: The input record to be transformed
  • config: The user-provided configuration as specified by the source's spec
  • stream_state: The stream state
  • stream_slice: The stream slice
Returns

The transformed record