簡體   English   中英

無法將大型ish .RDS文件部署到RStudio中的shinyapp.io

[英]Can't deploy large ish .RDS files to shinyapp.io in RStudio

我正在嘗試從RStudio部署閃亮的應用程序。 連同“ui.r”和“server.r”文件,我有3個.RDS文件(50kb,15mb和18mb),我在server.r文件中讀取,它們在本地工作正常。 當我開始上傳時,它失敗並給出以下錯誤:

Preparing to deploy application...DONE 
Uploading bundle for application: 794264...
Error in force(code) : Could not upload file. 
Calls: <Anonymous> -> withStatus -> force
Execution halted

我嘗試選擇50kb和15mb文件,這是有效的。 當我自己選擇18 mb時,它可以工作,但是當我同時選擇所有三個時,它似乎不起作用。 我將文件大小增加到了大約。 使用以下內容500 MB(最有可能縮小捆綁包大小):

options(rsconnect.max.bundle.files = 500000000)

在我閱讀時,它采用以字節為單位的值。

那沒結果。

我使用控制台部署:

deployApp(appDir="Documents/GitHub/DataScience_JH_Coursera_Assignments/10.Capstone/shinyapp/PredictionText/",logLevel="verbose",lint=TRUE)

無濟於事,但我設法將問題線歸零,並且得到了以下日志:

----- Deployment error -----
Error in force(code) : Could not upload file.

----- Error stack trace -----
4: stop("Could not upload file.")
3: force(code)
2: withStatus(paste0("Uploading bundle for ", assetTypeName, ": ", 
       application$id), {
       bundlePath <- bundleApp(target$appName, appDir, appFiles, 
           appPrimaryDoc, assetTypeName, contentCategory, verbose)
       if (isShinyapps(accountDetails)) {
           bundleSize <- file.info(bundlePath)$size
           checkSum <- md5sum(bundlePath)
           bundle <- client$createBundle(application$id, "application/x-tar", 
               bundleSize, checkSum)
           if (verbose) 
               timestampedLog("Starting upload now")
           if (!uploadBundle(bundle, bundleSize, bundlePath)) {
               stop("Could not upload file.")
           }
           if (verbose) 
               timestampedLog("Upload complete")
           response <- client$updateBundleStatus(bundle$id, status = "ready")
           bundle <- client$getBundle(bundle$id)
       }
       else {
           bundle <- client$uploadApplication(application$id, bundlePath)
       }
   })
1: deployApp(appDir = "Documents/GitHub/DataScience_JH_Coursera_Assignments/10.Capstone/shinyapp/PredictionText/", 
       logLevel = "verbose", lint = TRUE)

所以它在這里失敗了,我假設:

if (!uploadBundle(bundle, bundleSize, bundlePath)) {

僅供參考,如果我在獲得以下內容時進行了正確的轉換,則我的捆綁包大小設置為大約3gb:

getOption("rsconnect.max.bundle.size")
[1] 3145728000

我已經堅持了5天了。 我閱讀了所有可以閱讀的論壇,嘗試單獨上傳文件只是為了發現閃亮/ rsconnect似乎在此之前刪除了實例,因此無法逐個上傳文件。 我甚至試圖弄亂.dcf rsconnect文件,也沒有。 任何幫助/見解將不勝感激。

我設法解決了這個問題,因為事實證明,我將* .RDS文件與server.r和ui.r文件放在同一文件夾中。 我只需要在與* .r文件相同的文件夾中創建一個名為“data”的文件夾,並將* .RDS文件轉儲到那里並上傳工作。

日志本來可以更清晰一些。

此外,沒有相關,但它確實有助於“刷新緩存”,導航到rsconnect和所有后續文件夾,直到您到達[appname] .dcf文件並刪除該文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM