0

我正在尝试按照 Golem 的框架将 Bigquery 表中的数据读取到 Shiny App 中。

这可以通过在文件中的uiandserver函数之前添加以下代码来轻松完成App.R

bq_auth(path = "xxxxxxxxxxxx.json") # authenticating biqrquery with service account json file

# Establishing connection
con <- dbConnect(
           bigrquery::bigquery(),
           project = "project id",
           dataset = "dataset name",
           billing = "project id"
)

但是我对使用Golem.

在这个线程之后,我在文件上创建了reactiveValue()一个app_server.R

#' The application server-side
#' 
#' @param input,output,session Internal parameters for {shiny}. 
#'     DO NOT REMOVE.
#' @import shiny
#' @import bigrquery  
#' @noRd

app_server <- function( input, output, session ) {
# Your application server logic 
bq <- reactiveValues()

observe({

    bq$con <- dbConnect(drv = bigquery(),
                    project = "project_id",
                    dataset = "datset_id",
                    billing = "project_id")

})

}

我也导入bigrquery了,但这似乎破坏了一些东西,因为现在我在运行时收到以下错误run_dev.R

> golem::document_and_reload()
Loading Dashboard
Error : object ‘DBI’ is not exported by 'namespace:bigrquery'
-- Error documenting your package ----------------------------------------------------------------
> 
> # Run the application
> run_app()
Error in run_app() : could not find function "run_app"
4

1 回答 1

0

这是基于您的错误的问题:

> golem::document_and_reload()
Loading Dashboard
Error : object ‘DBI’ is not exported by 'namespace:bigrquery'
-- Error documenting your package --

在您的代码中的某处,您尝试调用 bigrquery::DBI(),但它不是此包中的函数。因此出现以下错误{golem}:如果您有命名空间错误,则无法加载所有内容:)

您应该在以下位置找到此代码错误:

  • 在你做的一个 R 脚本中bigrquery::DBI()
  • 在您可能拥有的 NAMESPACE 中importFrom(bigrquery, DBI)
  • 在你的 RScript 中的 @importFrom 中,你可能正在做@importFrom bigrquery DBI

删除它应该可以解决问题。

干杯,科林

于 2020-11-26T10:49:42.590 回答