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
KeysToLowerTransformation13@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