私は入力としてファイルを受け取り、そのファイルのデータをいくつかの他のものが続くbigqueryテーブルにアップロードする光沢のあるアプリケーションを作成しようとしています。すべてが私のアプリにデータを取得するという点では問題なく動作しているようですが、データをbigqueryにアップロードしようとすると何も起こりません。エラーメッセージはありません。光沢のあるテーブルからbigqueryテーブルに書き込む方法を教えてください。
私はそれ自身でコードを実行することができ、うまく実行されます。パブリックデータセットに書き込むことができないため、再現可能なサンプルを作成する方法を理解するのに少し問題がありますが、私は以下のコードを追加しました。
追加情報:
- 作業ディレクトリが私の.httr-OAuthのファイルが含まれてい
- データは、私の光沢のあるアプリ
に見える私が作るために追加できる何かがあるのなら、私に知らせてください。この質問は簡単に答えることができます。ありがとう。
############# UI ############
#
library(shiny)
shinyUI(fluidPage(
# Application title
titlePanel("Upload"),
# Sidebar with a slider input for number of bins
sidebarLayout(
sidebarPanel(
fileInput('list', 'Choose file to upload',
accept = c(
'text/csv',
'text/comma-separated-values',
'.csv'
)),
tags$hr(),
textInput('sql', 'Or give a query to get the customer_ids you want'),
tags$hr(),
actionButton('go', 'Go')
),
# Show a plot of the generated distribution
mainPanel(
tableOutput('log')
)
)
))
############# server ##############
### setting up the environment
library(shiny)
library(data.table)
library(bigrquery)
### setting up the constants
project <- 'xxxxxxx'
dest_dataset <- 'temp'
dest_table <- 'custs_hash'
cd <- 'CREATE_IF_NEEDED'
wd <- 'WRITE_TRUNCATE'
options(shiny.maxRequestSize = 100*1024^2)
shinyServer(function(input, output) {
logs <- eventReactive(input$go, {
inFile <- input$list
dat <- fread(inFile$datapath)
dat <- head(dat)
return(list(dat = dat))
})
upload <- eventReactive(input$go, {
data <- dat()$dat
ins <- insert_upload_job(project, dataset = dest_dataset, table = dest_table, values = data,
create_disposition = cd, write_disposition = wd)
return(list(ins = ins))
})
output$log <- renderTable(logs()$dat)
})
あなたのコードのどこでも 'upload' eventReactiveが使われている/呼び出されていません。 –
'upload' eventReactiveの意味がわかりません。それは特別な機能ですか?サーバのログ機能は、入力ファイルを取り出して、光沢のあるセッションに読み込むことができます。それは同じことですか? – nFrain
あなたは 'upload < - eventReactive(...)'を持っています。 eventReactiveは 'upload()'を使って呼び出さない限り、単独では動作しません。 'logs'が動作するのは、' renderTable'でそれを呼び出すためです。 –