首页 > 解决方案 > 在 Apex 中压缩字符串并将其解压缩 python

问题描述

在 Salesforce 中,我们触发一个平台事件并将有效负载添加到该平台事件的字段 Payload__c (LongText)。

我们在 python 中创建了一个流式客户端,它订阅此平台事件并使用有效负载。

因为有时候payload非常大,我们想出了在salesforce端压缩,在python端解压payload的想法。

我们找到了 Apex 的 lib https://github.com/bilalfastian/LZ4String。所以我们目前正在做的是使用方法压缩payload:compressToBase64(payload)并将其作为base64存储在平台事件中。

在 python 中,我们尝试了不同的方式,但我们无法解压缩。lib https://github.com/eduardtomasek/lz-string-python示例:

在顶点:

String test = 'Hello world';
String comp = LZString.compressToBase64 (test);
System.debug(comp);

// Output is 0oXjgLbmg7ZA7rqQ4pyw04gA

现在我尝试在 python 中解压这个字符串:

base64_message = '0oXjgLbmg7ZA7rqQ4pyw04gA'
w=x.decompresFromBase64(base64_message)
logger.error(w)

Output is just: -

标签: pythonsalesforceapex

解决方案


推荐阅读