microsoftgraph / microsoftgraph/msgraph-sdk-python-core
Unclear how to resume iterating with `PageIterator` if the callback returns `False`
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Python
- Star
- 288
- Fork
- 52
- Merge trung bình
- 8 giờ 10 phút
- Pull request đã merge (30 ngày)
- 1
Mô tả
In other SDKs, the iterator class typically has a Resume method to restart the iteration where it left off, and a corresponding State property to check if the iterator has completed or not. For example, in .NET:
var pageIterator = PageIterator<Message, MessageCollectionResponse>
.CreatePageIterator(
graphClient,
messages,
(msg) =>
{
Console.WriteLine(msg.Subject);
count++;
// If we've iterated over the limit,
// stop the iteration by returning false
return count < pauseAfter;
});
await pageIterator.IterateAsync();
while (pageIterator.State != PagingState.Complete)
{
Console.WriteLine("Iteration paused for 5 seconds...");
await Task.Delay(5000);
// Reset count
count = 0;
await pageIterator.ResumeAsync();
}
Is there a way to do this in this SDK?
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách đọc phần triển khai PageIterator và cách xử lý callback của nó, sau đó so sánh hành vi được yêu cầu với ví dụ .NET trong issue. Xác định cách một vòng lặp tạm dừng có thể hiển thị trạng thái hoàn tất và tiếp tục từ vị trí hiện tại; công việc được xem là hoàn tất khi hành vi của SDK và cách sử dụng SDK được định nghĩa, kiểm chứng rõ ràng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- api
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100