My general strategy has been to break up the data fetching between async function invocations, dump it to S3, then signal intermediate data processing and storage task functions through S3 object creation events and SNS. I make sure to base64 encode the data, and compress it, as I am moving it around in S3 and passing to SNS.