On 2021-06-24, Larry Martell <[email protected]> wrote:
> On Wed, Jun 23, 2021 at 7:05 PM Dennis Lee Bieber <[email protected]>
> wrote:
>>
>> On Wed, 23 Jun 2021 10:42:42 -0700, Larry Martell <[email protected]>
>> declaimed the following:
>>
>> >def _decode(data):
>> > compressed_payload = b64decode(data)
>> > json_payload = zlib.decompress(compressed_payload, 16+zlib.MAX_WBITS)
>> > return json.loads(json_payload)
>> >
>>
>> >message = b'test message'
>> >compressed= zlib.compress(message)
>> >event['awslogs']['data'] = str(compressed)
>>
>> Where do you perform a B64 ENCODE operation?
>>
>> str() doesn't do that, it just converts the argument to a string
>> which
>> may mean using escapes for non-printable bytes. B64 converts everything to
>> printable characters.
>
> Copy/paste fail. This is actually the code I tried:
>
> message = b'test message'
> compressed= zlib.compress(message)
> encoded = b64encode(compressed)
> event['awslogs']['data'] = str(encoded)
Try printout out the result of each step:
>>> encoded
b'eJwrSS0uUchNLS5OTE8FAB8fBMY='
>>> str(encoded)
"b'eJwrSS0uUchNLS5OTE8FAB8fBMY='"
Ah, that's not what you want, is it?
>>> encoded.decode('ascii')
'eJwrSS0uUchNLS5OTE8FAB8fBMY='
That's better.
--
Grant Edwards grant.b.edwards Yow! I think my career
at is ruined!
gmail.com
--
https://mail.python.org/mailman/listinfo/python-list