4 ms·
The node SDKs for AWS really shock me. The `aws-sdk` v2 API is huge. It and its transitive deps are 64MB. In one TS project that I worked on, adding it added 1
by cldellow 5y ago
The node SDKs for AWS really shock me.
The `aws-sdk` v2 API is huge. It and its transitive deps are 64MB. In one TS project that I worked on, adding it added 1.5 seconds of transpilation time.
I thought v3 was supposed to be a modular improvement, but even just the `@aws-sdk/client-s3` library is 24MB.
Then I see bugs like `v3 has a dependency on react-native` and I really wonder how the process works internally to release these things.
- lvh 5y agoThe Java SDKs are bigger, and what's IMO worse: in Lambda the Python and JavaScript SDKs are automatically installed but the Java SDK is not automagically available on the classpath. Since Lambda is an environment where both artifact size and startup latency matters a lot, this kind of hobbles Java Lambdas. (I work around this mostly by using native-image.)
- uo21tp5hoyg 5y agoThis problem is what lead me to building out my own s3-compatible implementation, sure it doesn't have all the bells and whistles that the official library has but it does what I need and is under 10kb in size.
- paulddraper 5y agoAs I found out in this bug, v3, despite being released last year, is unusable. You can't even stream an object to S3. https://github.com/aws/aws-sdk-js-v3/issues/2348 https://github.com/aws/aws-sdk-js-v3/issues/2348
- renke1 5y agoI was pretty shocked by the bad quality of the Cognito JS library (which is now superseded by the Amplify JS library, afaik). The API design itself was really bad and error handling was based on parsing the textual messages of the HTTP responses (or at least something along those lines). In general I really do like AWS but it made me reluctant to suggest Congito to any of our clients (as opposed to say Firebase Auth which has a nice API and just works).
- dragonwriter 5y ago> I was pretty shocked by the bad quality of the Cognito JS library (which is now superseded by the Amplify JS library, afaik). Subsumed within rather than superceded, AFAICT—in fact, I’ve had to use notionally outdated documentation (actually, I think it was actually Stack Overflow answers, but...) for the former to fill gaps in that for the latter, so I’m relatively certain of the relationship. AWS SDK APIs tend to mix poor design with poor documentation, often being extremely leaky abstractions on top of the HTTP APIs, which themselves aren’t masterpieces of either design or documentation.
- chx 5y agoThe PHP SDK is so bad, https://github.com/async-aws/ https://github.com/async-aws/ exists and one of the stated goals is "One should be able to read the code and follow the logic". https://bref.sh/ https://bref.sh/ which allows using PHP to write AWS Lambda functions easily uses async-aws, for example.