从 Google Cloud Pub/Sub 而不是 base64 获取未编码的数据
Posted
技术标签:
【中文标题】从 Google Cloud Pub/Sub 而不是 base64 获取未编码的数据【英文标题】:Getting unencoded data from Google cloud Pub/Sub instead of base64 【发布时间】:2017-02-27 21:55:17 【问题描述】:我正在尝试将 Python 库用于 Pub/Sub,但我不断收到此错误:TypeError: Incorrect padding
。一些快速的谷歌搜索发现了这个问题:https://github.com/GoogleCloudPlatform/google-cloud-python/pull/2527
但是,这并不能解决问题 - 事实上,打印数据表明数据根本没有经过 base64 编码,在库中设置 data = raw_data
解决了问题。
我们从 Java 发送消息,这是我们正在使用的代码:
PCollection<String> userActionsJson = userActionsRaw.apply(ParDo.of(new BigQueryRowToJson()));
String topicNameFull = "projects/" + options.getProject() + "/topics/" +
options.getUsersActionsTopicName() + "-" + options.getProduct();
userActionsJson.apply(PubsubIO.Write.named("PublishToPubSub")
.topic(topicNameFull));
但是,尝试通过控制台发送消息时也会发生同样的事情。
最近是否发生了一些变化,意味着数据不再是 base64 编码?
【问题讨论】:
【参考方案1】:这是一个现已在 master 中解决的问题:https://github.com/GoogleCloudPlatform/google-cloud-python/issues/2577
【讨论】:
以上是关于从 Google Cloud Pub/Sub 而不是 base64 获取未编码的数据的主要内容,如果未能解决你的问题,请参考以下文章
无法按日期从 Google Cloud Pub/Sub 功能中的 Firebase 获取文档
如何从 Firebase Cloud Function 在 Google Pub/Sub 中发布消息?
从 Google Cloud Run 托管应用程序触发的 Pub/Sub 消息需要很长时间