Layer7 API Management

 View Only
  • 1.  Streaming large files through API Gateway

    Posted Jul 01, 2016 02:22 PM

    We need to stream large files (300MB+) through our API Gateway. We are currently on version 8.4.1. What options do we have to stream such large files through the gateway without significantly impacting performance?

     

    Ideally we are looking for protocols that support persistent connections and capable of processing a single chunk of multiple chunks that make up a large file.

     

    Thanks,

    James



  • 2.  Re: Streaming large files through API Gateway
    Best Answer

    Posted Aug 12, 2016 05:36 AM

    Hi James,

                     You can use Configure Message Streaming Assertion available in CA API Gateway PM. I have used it for a complete file & not for chunks & it does the job. There would be minimal buffering at Gateway. There are some limitations on its usage. Please refer to the documentation for more details.

    There are also some measures that can be taken to improve performance. You can find it here.

     

    If your network bandwidth is good, 300 MB is pretty small & should not take more than 2 minutes.

     

    Thanks,

    Abhishek



  • 3.  Re: Streaming large files through API Gateway

    Posted Nov 18, 2016 04:48 AM

    Hi

     

    I have a similar issue where the user needs to be able to upload very large files. the scenario is that the user enters a URL in his browser and the call is directed via API GW 9.0 to a back end system. I have tried to add the configure message streaming assertion (and chosen "enable Streaming") right before I forward the request to the back end system but I get the error message that "The request message has already been buffered".

     

    Any idea how I should configure this to make it work?

     

    Br Mikael



  • 4.  Re: Streaming large files through API Gateway

    Posted Nov 23, 2016 09:48 PM

    Hi Dong,

             Wecannot attempt to modify/extract/copy the message in the policy since when streaming a message cannot meddled.. It would then be buffering. hence the error. 

     

    I suggest you to completely passthrough the message & let the backend handle the rest.

     

     

    Thanks,

    Abhishek