У меня проблема с использованием сценария R в качестве источника данных в Microsoft PowerBi. Я думаю, что это финансовая проблема PowerBi, но в краткосрочной перспективе мне нужно будет найти решение в R.
По сути, PowerBi не может обрабатывать сообщения, которые будут отправлены. на консоль, если я использовал R Studio.
В сценарии R я использую REST API для запроса данных с URL-адреса. Полученное сообщение JSON преобразуется в кадр данных R. При использовании сценария в качестве источника данных в PowerBi это работает только в том случае, если я установил подробные настройки в значение FALSE, т.е. если я использовал R Studio, на консоль не отправляются сообщения (в частности, данные в).
response <- GET(<url>,
body = list(),
add_headers(.headers = c('<identity token>' = ID_to_use)),
verbose(data_out = FALSE,
data_in = FALSE,
info = FALSE,
ssl = FALSE),
encode = "json")
Однако у меня нет возможности отключить входящие / исходящие сообщения заголовка JSON (которые вернутся, чтобы укусить!).
<< {"identity":" <token>"}
* Connection #54 to <host> left intact
No encoding supplied: defaulting to UTF-8.
-> GET <URL request> HTTP/1.1
-> Host: <host>
-> User-Agent: libcurl/7.64.1 r-curl/4.3 httr/1.4.1
-> Accept-Encoding: deflate, gzip
-> Accept: application/json, text/xml, application/xml, */*
-> <Identity>: <Identity>
->
<- HTTP/1.1 200 OK
<- X-Session-Expiry: 3599
<- Content-Type: application/json
<- Transfer-Encoding: chunked
<- Date: Thu, 06 Aug 2020 16:14:26 GMT
<- Server: <Server>
<-
No encoding supplied: defaulting to UTF-8.
No encoding supplied: defaulting to UTF-8.
No encoding supplied: defaulting to UTF-8.
Из справки R
.
.
verbose() uses the following prefixes to distinguish between different components of the http messages:
* informative curl messages
-> headers sent (out)
>> data sent (out)
*> ssl data sent (out)
<- headers received (in)
<< data received (in)
<* ssl data received (in)
.
.
Переключение подробных настроек на FALSE работает для одного запроса, однако мне нужно поместить запрос в al oop и продолжать запрашивать дополнительные данные, пока шлюз API не укажет, что больше данных для получения нет. PowerBi, похоже, не работает, когда в сценарии отправлено / получено пять или более запросов / ответов.
Просто из наблюдения, я предполагаю, что это связано с накоплением сообщений JSON Header.
Я пробовал несколько подходов, но, похоже, ничего не работает: раковина ('NUL'), invisible (), capture.output ().
Любая помощь будет принята с благодарностью.