Кто-нибудь работает с google BigQuery? Нужен пример загрузки данных в таблицу #778762


#0 by zyto
Кто-нибудь использует загрузку в BigQuery из 1С? У меня получилось: 1. авторизоваться 2. попользовать любые методы получения данных - список таблиц, датасетов и т.д. 3. теоретически могу добавить данные в таблицу по одной строке но никак не пойму как загрузить несколько строк сразу, одним запросом. Не понимаю какая должна быть структура в теле запроса. (CSV / JSON - не важно, их я сформирую, что ещё нужно передавать помимо самих данных и в каком формате?) Мож кто поделится примерчиком?
#1 by Кирпич
Щас узнаю, что это такое и напишу. Подожди.
#2 by Кирпич
вот это что ли? Loading CSV files?
#3 by Serginio1
#4 by Кирпич
да ему, видимо, на 1С нужен пример
#5 by zyto
Да, и даже вот так: Но там есть пара непонятных моментов: 1. 'fields': json.load(open(schema_path, 'r')) Что они передают в качестве schema_path и что получается в результате выполнения функции load - непонятно 2. они используют метод MediaFileUpload(             data_path,             mimetype='application/octet-stream')) Который явно недоступен в 1Ске, возможно надо данные передать текстом прям в теле запроса, но не понимаю в каком формате это я всё умею, там загрузка в таблицу по одной строке + используются доп. библиотеки для .net, которые вряд-ли удастся использовать с 1С
#6 by zyto
+а грузить по одной строке - это значит на каждую строку отдельный HTTP запрос, таблица в какие-то жалкие сотню тысяч строк положит сетку :) Ну или будет грузится вечно...
#7 by Serginio1
Почему?
#8 by Кирпич
а там же чего то про commandline написано еще. может не париться и пользоваться ей?
#9 by Serginio1
Там заполнются строки на стороне клиента, а на сервер отправляются скопом
#10 by zyto
там надо всякие google SDK ставить, и это работа через костыли. Хотелось бы напрямую через HTTP (CSV или JSON - не важно), без использования внешних компонент. я так не умею :)
#11 by Serginio1
При этом библиотека используе NetStandart3 и можешь использовать хоть на линуксе
#12 by Serginio1
Все когда то бывает впервые. Ну если не получится через HTTP  имей ввиду.
#13 by Кирпич
ну можно через node.js еще попробовать.
#14 by zyto
Да должно получится через HTTP, нужно только определиться со структурой данных. Там по сути 2 место где могут быть параметры - заголовки и тело запроса. С заголовками более-менее понятно, не понятно что в тело передавать. Просто таблицу недостаточно, т.к. в параметрах запроса нет указания в какую таблицу и датасет мы закачиваем данные, соответсвенно надо как-то эти параметры передать в теле запроса...
#15 by Кирпич
+ если это у вас не считается внешней компонентой сниффером можно посмотреть чего передается.
#16 by zyto
что бы смотреть сниффером нужен рабочий пример и рабочий сниффер :)
#17 by Кирпич
рабочий пример node.js рабочий сниффер в интернете
#18 by Serginio1
Бери примеры и смотри фиддлером
#19 by zyto
Ребята, спасибо за помощь, но вы отвечаете на свой вопрос и предлагаете использовать костыли вместо нормального решения. Если всё-таки кто-то пользуется BigQuery - покажите, что вы передаёте в теле запроса.
#20 by Кирпич
какие нафиг костыли? тебе предлагают посмотреть сниффером. "Если всё-таки кто-то пользуется BigQuery" да никто им не пользуется. сто лет он кому нужен.
#21 by zyto
Кажется был прав, таким образом: можно передать сразу несколько строк... Похоже это то что нужно, сейчас буду пробовать без снифферов и куртизанок :)
#22 by zyto
Хм... Странная фигня, запрос выполняется, ошибок нет, а данные в таблице не появляются
#23 by zyto
На всякий случай, для потомков, тело сообщения должно быть примерно таким: {"rows":     [{"json":{         "field1":"aaa",         "field2":"bbb"}         },         "field2":"eee"}         }     ] } где field1 и field2 - это имена (айдишники) полей в созданной таблице, ну а проект, датасет и имя таблицы мы передаём в URLе. PS Данные появляются в таблице сразу после выгрузки, но Preview их не показывает (показывает через несколько часов). Что бы посмотреть все данные нужно делать запрос...
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С