Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Cross-runtime consistency fixes

Abierto
#178 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
aws, python
Área
backend, cloud

Línea de trabajo

Compara contract_event_handler.py, contract_status_changed_event_handler.py y publication_evaluation_event_handler.py con los runtimes de Java, TypeScript y .NET. Revisa primero los comportamientos indicados de marcas de tiempo, DynamoDB, variables de entorno, validación y métricas; después, ejecuta las pruebas del servicio relevantes si están disponibles. Se considera terminado cuando los handlers de Python coinciden con los contratos establecidos entre runtimes, sin escrituras no deseadas ni métricas duplicadas.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

pending-release

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: replaced datetime.now().strftime("%d/%m/%Y %H:%M:%S") with datetime.now(timezone.utc).isoformat() for both contract_created and contract_last_modified_on
  • update_contract: replaced datetime.now().strftime(...) with datetime.now(timezone.utc).isoformat()
  • Format change: custom DD/MM/YYYY HH:MM:SS → ISO 8601 YYYY-MM-DDTHH:MM:SS.ffffff+00:00
  • Uses the non-deprecated timezone-aware API (timezone.utc) instead of datetime.utcnow()
DynamoDB attribute name (contract_event_handler.py)
  • update_contract: changed UpdateExpression from "set contract_status=:t, modified_date=:m" to "set contract_status=:t, contract_last_modified_on=:m"
  • This corrects a bug where update_contract wrote to a non-existent modified_date attribute instead of the correct contract_last_modified_on attribute used in create_contract
Observability metrics (contract_event_handler.py)
  • Added metrics.add_metric(name="ContractCreated", unit=MetricUnit.Count, value=1) to create_contract success path

Approvals Service

Per-invocation timestamp (contract_status_changed_event_handler.py)
  • Removed module-level now = datetime.now() and current_date variable 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(...) with raise EnvironmentError(...) for both SERVICE_NAMESPACE and CONTRACT_STATUS_TABLE missing variable checks
  • Removed the now-unused InternalServerError import from aws_lambda_powertools.event_handler.exceptions

Web Service

Evaluation result validation (publication_evaluation_event_handler.py)
  • Added validation guard: only updates DynamoDB when evaluation_result is "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
Lenguaje dominante
Python
Estrellas
47
Forks
20
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de aws-samples/aws-serverless-developer-experience-workshop-python

Todos los issues de aws-samples/aws-serverless-developer-experience-workshop-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.