The Logz.io CloudWatch logs shipper parses AWS Lambda log lines assuming a 3-part format (timestamp, requestID, message), but NodeJS Lambda logs have a 4-part format that includes the log level. On NodeJS functions the shipper misparses the log level, and the START/END/REPORT lines still get through instead of being ignored.
Logz.io CloudWatch shipper misparses NodeJS Lambda logs (no log level)
The maintainer confirmed this: AWS Lambda logs differ per runtime, and the parser had only been tested against the Python format. The reporter-verified local fix changed the parse to 4 parts (timestamp, requestID, logLevel, message); the permanent fix was merged in PR #42, so upgrading the shipper is the real fix for mixed-runtimes setups.
Source: https://github.com/logzio/logzioawsserverless/issues/40
Source: https://github.com/logzio/logzioawsserverless/issues/40
When generating the signed URL, pass the exact Content-Type the client will upload with (e.g. image/png or application/octet-stream), and make sure the client sends that same header: users on the thread confirmed uploads work once the signed content-type matches. If you cannot know the type ahead of time, sign with application/octet-stream and upload as such.
Source: https://github.com/googleapis/nodejs-storage/issues/347