generated from amazon-archives/__template_MIT-0
-
Notifications
You must be signed in to change notification settings - Fork 21
Open
Description
Summary
A set of fixes to align the Python runtime with the other runtimes (Java, TypeScript, .NET) for functional equivalence and cross-runtime consistency.
Contracts Service
Timestamp format (contract_event_handler.py)
create_contract: replaceddatetime.now().strftime("%d/%m/%Y %H:%M:%S")withdatetime.now(timezone.utc).isoformat()for bothcontract_createdandcontract_last_modified_onupdate_contract: replaceddatetime.now().strftime(...)withdatetime.now(timezone.utc).isoformat()- Format change: custom
DD/MM/YYYY HH:MM:SS→ ISO 8601YYYY-MM-DDTHH:MM:SS.ffffff+00:00 - Uses the non-deprecated timezone-aware API (
timezone.utc) instead ofdatetime.utcnow()
DynamoDB attribute name (contract_event_handler.py)
update_contract: changedUpdateExpressionfrom"set contract_status=:t, modified_date=:m"to"set contract_status=:t, contract_last_modified_on=:m"- This corrects a bug where
update_contractwrote to a non-existentmodified_dateattribute instead of the correctcontract_last_modified_onattribute used increate_contract
Observability metrics (contract_event_handler.py)
- Added
metrics.add_metric(name="ContractCreated", unit=MetricUnit.Count, value=1)tocreate_contractsuccess path
Approvals Service
Per-invocation timestamp (contract_status_changed_event_handler.py)
- Removed module-level
now = datetime.now()andcurrent_datevariable assignments - Moved timestamp computation inside the handler function body to ensure each invocation captures its own execution time rather than the container initialisation time
Environment variable error type (contract_status_changed_event_handler.py)
- Replaced
raise InternalServerError(...)withraise EnvironmentError(...)for bothSERVICE_NAMESPACEandCONTRACT_STATUS_TABLEmissing variable checks - Removed the now-unused
InternalServerErrorimport fromaws_lambda_powertools.event_handler.exceptions
Web Service
Evaluation result validation (publication_evaluation_event_handler.py)
- Added validation guard: only updates DynamoDB when
evaluation_resultis"APPROVED"or"DECLINED"(case-insensitive) - Logs a warning and returns without writing to DynamoDB for any other value
Metric name correction (publication_evaluation_event_handler.py)
- Removed duplicate
metrics.add_metric(name="PropertiesAdded", ...)call - Retained
metrics.add_metric(name="PropertiesApproved", ...)as the single metric for this path
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels