我正在开发一个应用程序,其中客户端(用多种语言编写 - Go、C++、Python、C#、Java、Perl 以及将来可能更多)向 SQS 提交 protobuf(在某些情况下,还有 JSON)消息。在另一端,消息由 Python 和 Go 客户端读取和解码 - 取决于消息类型。Boto 似乎自动将消息编码为 base64,但其他语言库似乎没有这样做。或者也许还有其他一些规则?
Boto 确实可以选择提交原始消息。
这里的预期行为是什么?我应该自己将消息编码到 base64 中 - 这使 boto 成为一个奇怪的案例 - 还是我遗漏了什么?
这在我的应用程序中造成了一些微妙的错误,因为额外的 base64 编码或解码层。据我所知,没有惯用的方法来检测消息是否是 base64 编码的。最好的选择是尝试解码并查看它是否抛出异常 - 我不太喜欢这种情况。
我试图寻找一些文档,但找不到任何具有明确指导方针的内容。也许我看错了地方?
在此先感谢您的指点。
慕勒3428872
相关分类