News for hackers. Stuff that matters.
Re:ZA̡͊͠͝LGΌ causes "Invalid MD5 checksum on messages" by cldellow on Saturday May 08, 2021 @12:36PM (#27088629)
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.

Re:ZA̡͊͠͝LGΌ causes "Invalid MD5 checksum on messages" by lvh on Saturday May 08, 2021 @12:38PM (#27088655)
The 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.)

Re:ZA̡͊͠͝LGΌ causes "Invalid MD5 checksum on messages" by paulddraper on Saturday May 08, 2021 @03:08PM (#27089863)
As 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

Re:ZA̡͊͠͝LGΌ causes "Invalid MD5 checksum on messages" by renke1 on Saturday May 08, 2021 @03:32PM (#27090000)
I 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).
Re:ZA̡͊͠͝LGΌ causes "Invalid MD5 checksum on messages" by dragonwriter on Saturday May 08, 2021 @03:38PM (#27090043)
> 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.

Re:ZA̡͊͠͝LGΌ causes "Invalid MD5 checksum on messages" by chx on Saturday May 08, 2021 @05:02PM (#27090646)
The PHP SDK is so bad, 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/ which allows using PHP to write AWS Lambda functions easily uses async-aws, for example.
Re:ZA̡͊͠͝LGΌ causes "Invalid MD5 checksum on messages" by uo21tp5hoyg on Saturday May 08, 2021 @12:56PM (#27088820)
This 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.