microsoftgraph / microsoftgraph/msgraph-sdk-python-core
Unclear how to resume iterating with `PageIterator` if the callback returns `False`
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 288
- Forks
- 52
- Merge moyen
- 8 h 10 min
- PR mergées (30 j)
- 1
Description
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?
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par lire l’implémentation de PageIterator et la gestion de ses callbacks, puis comparez le comportement demandé avec l’exemple .NET présent dans l’issue. Déterminez comment une itération mise en pause pourrait exposer son état d’achèvement et reprendre depuis sa position actuelle ; le travail est terminé lorsque le comportement du SDK et son utilisation sont clairement définis et vérifiés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- api
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100