AWS Firehose 更改数据编码

AWS Firehose changes data encoding

我有一个我不明白的奇怪问题,即似乎 firehose 正在更改我放置记录后发送到流的数据的编码。

我看到这个是因为当我使用 put_record() API 调用发布数据时,我输入的编码 json 字符串的值是这样的:

eyJMb2NrYm.....=

但是我有一个转换 lambda,当我读入我刚刚输入的数据时,编码字符串是这样的:

ZXlKTWIyTnJZ....==

(注意:为了简洁起见,我截断了编码字符串的中间部分)

这是个问题,因为当我尝试解码我​​得到的字符串时,它没有解码成任何东西,只是同一个字符串。 难道我做错了什么?我在 put 命令上没有收到错误,它告诉我输入是正确的,但是当我尝试读回它时,为什么值不是我期望的值?还有其他人看过吗?

我发现了问题。在 Firehose "put_record" API 调用中,输入不是编码的 base64,它应该只是一个字符串。他们在后端进行编码,因此当它出现在检索记录时,它是经过编码的。

当我在这里阅读文档时,我并不清楚这一点:boto3 put_record

所以我所做的就是将我的输入更改为“json.dumps(my_dict)”到 API 调用,在另一端我得到了预期的 base64 编码字符串