You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Bug: DataMasking.erase with masking_rules ignores JSON string input #8636
DataMasking.erase() accepts a JSON string with fields=. With masking_rules=, the same JSON string input should be parsed too, and the matching fields masked.
Current Behaviour
With masking_rules=, the rule paths are evaluated against the raw string, so nothing ever matches:
by default it raises DataMaskingFieldNotFoundError: Field or expression email not found;
with raise_on_missing_field=False it only logs a warning and returns the string unmasked.
_apply_masking_rules (aws_lambda_powertools/utilities/data_masking/base.py) could deserialize str input with the configured json_deserializer before evaluating the paths, as the fields code path already does in _normalize_data_to_parse.
Steps to Reproduce
Run the snippet above.
Powertools for AWS Lambda (Python) version
latest (3.36.0, also on develop)
AWS Lambda function runtime
3.13
Packaging format used
PyPi
Debugging logs
aws_lambda_powertools.utilities.data_masking.exceptions.DataMaskingFieldNotFoundError: Field or expression email not found
Activity