Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Ouverte
#563 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
58/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Calme
Stack technique
python
Domaine
api, backend

Piste de recherche

Commencez par localiser le point d’entrée purge_instance_history_by et la requête adressée au backend DTS qu’il effectue, puis reproduisez l’appel avec les statuts d’exécution et les limites temporelles facultatives indiqués dans l’issue. Suivez la réponse 400 et vérifiez que l’opération réussit et signale le nombre attendu d’instances supprimées.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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

Langage dominant
Python
Étoiles
157
Forks
71
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de Azure/azure-functions-durable-python

Toutes les issues de Azure/azure-functions-durable-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.