Публикация вывода JSON из веб-API в Google Big Query приводит к записи данных в таблицу с ошибками записей. - PullRequest
0 голосов
/ 09 ноября 2018

Я использую Google Pub Sub, чтобы публиковать вывод JSON веб-API для определенной темы. Затем я использую шаблон потока данных Google. Точный шаблон, который я использую, это PUBSUB to BIGQUERY, который перемещает данные из pubsub в определенную таблицу, которую я определил. Когда задача выполняется, все данные перемещаются в неудачную вставку таблицы вместо записи успешных записей. Я думаю, что это должно быть проблемой с тем, как сообщения кодируются, но я пробовал несколько вещей безрезультатно. Мой код Python указан ниже:

from __future__ import unicode_literals
from sodapy import Socrata
import json
from io import StringIO
from google.oauth2 import service_account
from oauth2client.client import GoogleCredentials
from google.cloud import pubsub_v1
import time
import datetime
import urllib
import urllib.request
import argparse
import base64

credentials = GoogleCredentials.get_application_default()
# change project to your Project ID
project="xxxx"
# change topic to your PubSub topic name
topic="xxxx"


res = urllib.request.urlopen('https:/myurl.com/test.json')
res_body = res.read()
traffic=json.loads(res_body)
publisher = pubsub_v1.PublisherClient()
topicName = 'projects/' + project + '/topics/' + topic
publisher = pubsub_v1.PublisherClient()
topic_path = publisher.topic_path(project,topic)
for key in traffic:
        publisher.publish(topicName,str.encode(str(key)))
        print(key.items())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...