I've been throwing a lot of my own personal resources into building some things on top of both S3 and lambda and have found a few tools that help with it quite a bit. For one - the lambduh project from Russ Matney has been a great resource for abstracting out some of the more common s3->lambda workflow: https://github.com/lambduh/lambduh. On a different note is T.J. Holowaychuk's Apex project: https://medium.com/@tjholowaychuk/introducing-apex-800824ffa...
Using AWS lambda for cheap S3 content processing
11–20 of 20 posts
Re: Using AWS lambda for cheap S3 content processing
#12but found one issue, that many here might not be aware of, S3 bucket and Lambda function should be in same aws region.
Unfortunately, my s3 bucket is in southeast-ap, and aws lambda is not available in this region. couldn't go live today. will have to copy bucket to another region to use it.
hope this helps. thanks.
Re: Using AWS lambda for cheap S3 content processing
#13Re: Using AWS lambda for cheap S3 content processing
#14Still waiting on Ruby support...
require 'java'
java_import 'com.amazonaws.services.lambda.runtime.Context'
java_import 'java.util.Map'
class Main
java_signature 'static String handler(Map args, Context context)'
def self.handler(args, context)
puts "hello world"
end
end
# jrubyc --java main.rbRe: Using AWS lambda for cheap S3 content processing
#15How many HTTP requests can Lambda do concurrently? Is my best approach to fire all these requests inside one worker, or should/could I have it spin up subsequent lambadas whose only function is to run the HTTP request then close? I'm imagining that would be a lot more expensive.
Re: Using AWS lambda for cheap S3 content processing
#16Excellent post. I wanted to generate thumb images for photos uploaded to s3 bucket using aws Lambda, could successfully implement it. but found one issue, that many here might not be aware of, S3 bucket and Lambda function should be in same aws region. Unfortunately, my s3 bucket is in southeast-ap, and aws lambda is not available in this region. couldn't go live today. will have to copy bucket to another region to u…
Re: Using AWS lambda for cheap S3 content processing
#17Off topic, but I'm hoping there are some Lambda-heads in the room. I want to write a system that basically rebroadcasts a message sent over SNS, to different HTTP endpoints. (I don't have control over these endpoints so can't use SNS itself as I can't confirm subscriptions). How many HTTP requests can Lambda do concurrently? Is my best approach to fire all these requests inside one worker, or should/could I have it s…
Re: Using AWS lambda for cheap S3 content processing
#18Off topic, but I'm hoping there are some Lambda-heads in the room. I want to write a system that basically rebroadcasts a message sent over SNS, to different HTTP endpoints. (I don't have control over these endpoints so can't use SNS itself as I can't confirm subscriptions). How many HTTP requests can Lambda do concurrently? Is my best approach to fire all these requests inside one worker, or should/could I have it s…
Should you choose the fanout route, Tim Wagner from AWS told me that it's pretty fast: https://twitter.com/timallenwagner/status/658025794900365312
Re: Using AWS lambda for cheap S3 content processing
#19Re: Using AWS lambda for cheap S3 content processing
#20Off topic, but I'm hoping there are some Lambda-heads in the room. I want to write a system that basically rebroadcasts a message sent over SNS, to different HTTP endpoints. (I don't have control over these endpoints so can't use SNS itself as I can't confirm subscriptions). How many HTTP requests can Lambda do concurrently? Is my best approach to fire all these requests inside one worker, or should/could I have it s…
My guess: all you can do in the 300 sec execution limit
So, alternatively, you could do something with DynamoDB event sources, where you have some sort of pub/sub table that your lambda functions listen on (basically a list of all the http requests that have to happen) - thus keeping a minimal 1 lambda dispatch per http request. The catch is you would need another system to manage that table (technically that system can be lambda itself).
Two important things, 1) I haven't used the dynamodb/lambda integration myself so be skeptical of my suggestion and 2) what I can say from our usage of the s3/lambda integration is that concurrency is not a problem with thousands of lambda dispatches/second being surprisingly quick to spin up.