将列表转换为Google pub / sub的bytestring

时间:2018-03-07 04:40:10

标签: python python-3.x google-cloud-platform

我在从python客户端向Google Cloud pub / sub服务发布消息时遇到了问题。

我有基于rest的公共API,它返回JSON数据。返回的数据在列表中以字典形式存在。

我已经将字典中的值提取到列表中,并使用bytes()转换为bytestring,但它仍然在下面抛出异常。

['EB', 'Pulaski', '2018-03-06 21:50:18.0', '0.5', '41.7930671862', '41.793140551', '-87.7136071496', 'W', 'Central Park', '-1', '1', '-87.7231602513', '55th']

response = requests.get("https://data.cityofchicago.org/resource/8v9j-bter.json")
traffic = response.json()


result_list = []
for d in traffic:
  result_list.append([v for k, v in d.items()])

for x in result_list:
  print(x)
  publisher.publish(topic_path, data = bytes(x))

1 个答案:

答案 0 :(得分:1)

根据此处的Python示例,您应该使用x.encode(' utf-8')而不是字节(x)转换为bytestring:https://cloud.google.com/pubsub/docs/publisher#publish-messages-to-a-topic