Skip to content
This repository was archived by the owner on Mar 31, 2023. It is now read-only.
This repository was archived by the owner on Mar 31, 2023. It is now read-only.

Project: Graph SDK Batching improvement #47

Open

Description

Project name

Batching improvements in the Graph SDK SvRooij.Graph.Batching

Description

The Graph SDK has support for Batching, which is a great idea when you are doing a lot of requests to Graph. By batching requests you can achieve much higher throughput.

GraphServiceClient extension to help with Batching

The batch implementation in the GraphServiceClient feels incomplete, by default the GraphServiceClient let's you combine up to 20 requests before throwing an exception. By using this extension you can combine "unlimited" requests and have this extension automatically splits up the requests in multiple batches. While staying very close to the original implementation.

For now this is just an additional nuget package, if a lot of people like it I might create a pr to have this included in the actual client.

After a lot of positive responses and this issue this code is now integrated in the Microsoft.Graph.Core started from version 3.0.1, which is in turn used by Microsoft.Graph version 5.0.1

Useful resources

In this project everybody can check-out the following resources to use themself

Watch the video

Repo URL

https://github.com/svrooij/msgraph-sdk-dotnet-batching/

Team members

svrooij

Activity

  1. waldekmastykarz commented on Mar 3, 2023

    @waldekmastykarz
    Collaborator

    Cool! I shared it also with the PG to take a look. Thank you for sharing!

  2. svrooij commented on Mar 7, 2023

    @svrooij
    ContributorAuthor

    The PR to the SDK got merged, that means developers will no longer need this extension in the near future. But for now, if you want to do anything with batching just install the related nuget and get hacking at this moment.

    When the graph SDK is updated, you'll just have to remove my package and the BatchRequestContentCollection will just be available in the sdk

  3. waldekmastykarz commented on Mar 7, 2023

    @waldekmastykarz
    Collaborator

    This is awesome! Congratulations Stephan van Rooij (@svrooij) 👏

  4. waldekmastykarz commented on Mar 13, 2023

    @waldekmastykarz
    Collaborator

    Hey Stephan van Rooij (@svrooij), would you mind recording a short video walkthrough of your hack? Any format will work. It's not required for the hackathon but it would help us showcase your work both internally at Microsoft and publicly in the community. 😊

  5. svrooij commented on Mar 14, 2023

    @svrooij
    ContributorAuthor

    Waldek Mastykarz (@waldekmastykarz) I've created a video to show the speed improvement. if you need the actual video file, just send me a message.

    Watch the video

    The demo code, from the video can be found in the repository

  6. waldekmastykarz commented on Mar 15, 2023

    @waldekmastykarz
    Collaborator

    Awesome! The video reminds of these all text-based adventure games. "Press enter to start" 🤩

  7. svrooij commented on Mar 15, 2023

    @svrooij
    ContributorAuthor

    This gives the user the option to see the results in their task list. Else adding and removing would happen in rapid succession and there would not be anything to see.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    hackHackathon project submitted by participants

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions