from src import app # Example event JSON for Lambda event = { "eventSource": "aws:kafka", "eventSourceArn": "arn:aws:kafka:us-east-1:437795906767:cluster/qa-managed-kafka-cdc-destination/9d840e30-6e78-4bf7-8ab2-8d788cff806d-6", "bootstrapServers": "b-3.qa-managed-kafka-cdc-d.2kgc64.c6.kafka.us-east-1.amazonaws.com:9094,b-2.qa-managed-kafka-cdc-d.2kgc64.c6.kafka.us-east-1.amazonaws.com:9094,b-1.qa-managed-kafka-cdc-d.2kgc64.c6.kafka.us-east-1.amazonaws.com:9094", "records": { "cdc.artRelations.trackAudioAttributes-0": [ { "topic": "cdc.artRelations.trackAudioAttributes", "partition": 0, "offset": 38232985, "timestamp": 1660310044892, "timestampType": "CREATE_TIME", "key": "ewogICAgInNjaGVtYSI6IHsKICAgICAgICAidHlwZSI6ICJzdHJ1Y3QiLAogICAgICAgICJmaWVsZHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImludDY0IiwKICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAogICAgICAgICAgICAgICAgImZpZWxkIjogImlkIgogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKICAgICAgICAibmFtZSI6ICJxYV9hcnRfcmVsYXRpb25zLmFydF9yZWxhdGlvbnMudHJhY2tfYXVkaW9fYXR0cmlidXRlcy5LZXkiCiAgICB9LAogICAgInBheWxvYWQiOiB7CiAgICAgICAgImlkIjogNTEKICAgIH0KfQ==", "value": "ewogICAgInNjaGVtYSI6IHsKICAgICAgICAidHlwZSI6ICJzdHJ1Y3QiLAogICAgICAgICJmaWVsZHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cnVjdCIsCiAgICAgICAgICAgICAgICAiZmllbGRzIjogWwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgImZpZWxkIjogImlkIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJpbnQ2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAiZmllbGQiOiAidW5pcXVlX3RyYWNrX2lkIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJpbnQxNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAiZmllbGQiOiAiYXVkaW9fYXR0cmlidXRlX2lkIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAogICAgICAgICAgICAgICAgIm5hbWUiOiAicWFfYXJ0X3JlbGF0aW9ucy5hcnRfcmVsYXRpb25zLnRyYWNrX2F1ZGlvX2F0dHJpYnV0ZXMuVmFsdWUiLAogICAgICAgICAgICAgICAgImZpZWxkIjogImJlZm9yZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RydWN0IiwKICAgICAgICAgICAgICAgICJmaWVsZHMiOiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJpbnQ2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAiZmllbGQiOiAiaWQiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImludDY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICJmaWVsZCI6ICJ1bmlxdWVfdHJhY2tfaWQiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImludDE2IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICJmaWVsZCI6ICJhdWRpb19hdHRyaWJ1dGVfaWQiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IHRydWUsCiAgICAgICAgICAgICAgICAibmFtZSI6ICJxYV9hcnRfcmVsYXRpb25zLmFydF9yZWxhdGlvbnMudHJhY2tfYXVkaW9fYXR0cmlidXRlcy5WYWx1ZSIsCiAgICAgICAgICAgICAgICAiZmllbGQiOiAiYWZ0ZXIiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cnVjdCIsCiAgICAgICAgICAgICAgICAiZmllbGRzIjogWwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICJmaWVsZCI6ICJ2ZXJzaW9uIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgImZpZWxkIjogImNvbm5lY3RvciIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICJmaWVsZCI6ICJuYW1lIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJpbnQ2NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAiZmllbGQiOiAidHNfbXMiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImlvLmRlYmV6aXVtLmRhdGEuRW51bSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxsb3dlZCI6ICJ0cnVlLGxhc3QsZmFsc2UiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogImZhbHNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgImZpZWxkIjogInNuYXBzaG90IgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgImZpZWxkIjogImRiIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAiZmllbGQiOiAidGFibGUiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImludDY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICJmaWVsZCI6ICJzZXJ2ZXJfaWQiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJmaWVsZCI6ICJndGlkIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgImZpZWxkIjogImZpbGUiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImludDY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICJmaWVsZCI6ICJwb3MiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImludDMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICJmaWVsZCI6ICJyb3ciCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImludDY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgImZpZWxkIjogInRocmVhZCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgImZpZWxkIjogInF1ZXJ5IgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKICAgICAgICAgICAgICAgICJuYW1lIjogImlvLmRlYmV6aXVtLmNvbm5lY3Rvci5teXNxbC5Tb3VyY2UiLAogICAgICAgICAgICAgICAgImZpZWxkIjogInNvdXJjZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAogICAgICAgICAgICAgICAgImZpZWxkIjogIm9wIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJpbnQ2NCIsCiAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAogICAgICAgICAgICAgICAgImZpZWxkIjogInRzX21zIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJ1Y3QiLAogICAgICAgICAgICAgICAgImZpZWxkcyI6IFsKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJvcHRpb25hbCI6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAiZmllbGQiOiAiaWQiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImludDY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICJmaWVsZCI6ICJ0b3RhbF9vcmRlciIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50NjQiLAogICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uYWwiOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgImZpZWxkIjogImRhdGFfY29sbGVjdGlvbl9vcmRlciIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwKICAgICAgICAgICAgICAgICJmaWVsZCI6ICJ0cmFuc2FjdGlvbiIKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCiAgICAgICAgIm5hbWUiOiAicWFfYXJ0X3JlbGF0aW9ucy5hcnRfcmVsYXRpb25zLnRyYWNrX2F1ZGlvX2F0dHJpYnV0ZXMuRW52ZWxvcGUiCiAgICB9LAogICAgInBheWxvYWQiOiB7CiAgICAgICAgImJlZm9yZSI6IG51bGwsCiAgICAgICAgImFmdGVyIjogewogICAgICAgICAgICAiaWQiOiA1MSwKICAgICAgICAgICAgInVuaXF1ZV90cmFja19pZCI6IDM5NTE4MzM4LAogICAgICAgICAgICAiYXVkaW9fYXR0cmlidXRlX2lkIjogOAogICAgICAgIH0sCiAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgInZlcnNpb24iOiAiMS4yLjIuRmluYWwiLAogICAgICAgICAgICAiY29ubmVjdG9yIjogIm15c3FsIiwKICAgICAgICAgICAgIm5hbWUiOiAicWFfYXJ0X3JlbGF0aW9ucyIsCiAgICAgICAgICAgICJ0c19tcyI6IDE3MTA3Njk0OTEwMDAsCiAgICAgICAgICAgICJzbmFwc2hvdCI6ICJmYWxzZSIsCiAgICAgICAgICAgICJkYiI6ICJhcnRfcmVsYXRpb25zIiwKICAgICAgICAgICAgInRhYmxlIjogInRyYWNrX2F1ZGlvX2F0dHJpYnV0ZXMiLAogICAgICAgICAgICAic2VydmVyX2lkIjogMjAxLAogICAgICAgICAgICAiZ3RpZCI6IG51bGwsCiAgICAgICAgICAgICJmaWxlIjogIm15c3FsLWJpbi4wMDAwMDIiLAogICAgICAgICAgICAicG9zIjogMzcxODY0MzYsCiAgICAgICAgICAgICJyb3ciOiAwLAogICAgICAgICAgICAidGhyZWFkIjogMzU4MTQsCiAgICAgICAgICAgICJxdWVyeSI6IG51bGwKICAgICAgICB9LAogICAgICAgICJvcCI6ICJjIiwKICAgICAgICAidHNfbXMiOiAxNzEwNzY5NDkyMTA1LAogICAgICAgICJ0cmFuc2FjdGlvbiI6IG51bGwKICAgIH0KfQ==", "headers": [] } ] } } # Context (mock or use an empty object) context = {} # Run the handler response = app.handler(event, context) print(response)