Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đang mở
#563 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
58/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
python
Lĩnh vực
api, backend

Hướng nghiên cứu

Bắt đầu bằng cách xác định entry point purge_instance_history_by và request đến DTS backend mà nó thực hiện, sau đó tái hiện lời gọi với các trạng thái runtime và các giới hạn thời gian tùy chọn được nêu trong issue. Theo dõi phản hồi 400 và xác minh rằng thao tác thành công cũng như báo cáo đúng số lượng instance bị xóa dự kiến.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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

Ngôn ngữ chính
Python
Star
157
Fork
70
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của Azure/azure-functions-durable-python

Tất cả issue của Azure/azure-functions-durable-python

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.