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

DTS - purge_instance_history_by throws "Exception: The operation failed with an unexpected status code 400"

Abierto
#563 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
58/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
python
Área
api, backend

Línea de trabajo

Comienza localizando el punto de entrada purge_instance_history_by y la solicitud al backend DTS que realiza; después, reproduce la llamada con los estados de ejecución y los límites de tiempo opcionales indicados en el issue. Sigue la respuesta 400 y verifica que la operación se complete correctamente e informe del número esperado de instancias eliminadas.

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

Descripción

bug fixed-in-v2 P2

🐛 Describe the bug
If you call purge_instance_history_by when using the DTS backend, you get the following error: Exception: The operation failed with an unexpected status code 400

🤔 Expected behavior
purge_instance_history_by should successfully purge instance history based on the input params

☕ Steps to reproduce
Function code:

@bp.route(route="PurgeOrchestrationHistory", methods=["GET", "POST"])
@bp.durable_client_input(client_name="client")
async def purge_history(req: func.HttpRequest, client: df.DurableOrchestrationClient):
    logging.info("Starting purge all instance history")
    try:
        # Parse optional query parameters for purgeStartTime and purgeEndTime
        purge_start_time: Optional[datetime] = None
        purge_end_time: Optional[datetime] = None
        if req.params.get("purgeStartTime"):
            purge_start_time = datetime.fromisoformat(req.params["purgeStartTime"])
        if req.params.get("purgeEndTime"):
            purge_end_time = datetime.fromisoformat(req.params["purgeEndTime"])

        # Purge orchestration history
        result = await client.purge_instance_history_by(
            created_time_from=purge_start_time,
            created_time_to=purge_end_time,
            runtime_status=[
                df.OrchestrationRuntimeStatus.Completed,
                df.OrchestrationRuntimeStatus.Failed,
                df.OrchestrationRuntimeStatus.Terminated,
            ],
        )
        logging.info("Finished purge all instance history")
        return func.HttpResponse(
            f"Purged {result.instances_deleted} records",
            status_code=200,
            mimetype="text/plain"
        )
    except Exception as ex:
        logging.error("Failed to purge all instance history", exc_info=True)
        return func.HttpResponse(
            f"Failed to purge all instance history: {str(ex)}",
            status_code=500,
            mimetype="text/plain"
        )

⚡If deployed to Azure
N/A

Lenguaje dominante
Python
Estrellas
157
Forks
70
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

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 Azure/azure-functions-durable-python

Todos los issues de Azure/azure-functions-durable-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.