Customers using Queue SDK can opt-in to base64-encode/decode queue messages in order to handle payloads that are not valid UTF-8 strings. This is currently supported in .NET and Python SDK.
This is working well if messages in the queue are uniform. I.e. they are all base64 encoded. However, if non-base64-encoded message (due to a bug or migration) appears in the queue we lack mechanism to gracefully handle this situation, i.e. discard the message from the queue and log/persist it somewhere else for further processing/audit (e.g. transfer such message to poison-queue).
Let's assume that customer has a queue with 20 messages and one of them is "bad", i.e. 19 base64-encoded messages and 1 message which is plain text (i.e. not valid base64 string).