cloudyr / googleCloudStorageR

Google Cloud Storage API to R
https://code.markedmondson.me/googleCloudStorageR
Other
104 stars 29 forks source link

`gcs_get_object` creates file even when failed download #173

Open muschellij2 opened 1 year ago

muschellij2 commented 1 year ago

If you pass in something to saveToDisk for gcs_get_object, it creates a file, even if the download fails.

##### MISSING CODE TO AUTHORIZE YOURSELF
library(googleCloudStorageR)
json_file = "my_nonexistent_file.json"
bucket = "str-bucket"
file.exists(json_file)
#> [1] FALSE
gcs_get_object(
  json_file,
  bucket = bucket,
  saveToDisk = json_file,
  overwrite = TRUE)
#> ℹ Downloading my_nonexistent_file.json
#> ℹ 2023-06-20 16:05:07 > Request Status Code:  403
#> ℹ Downloading my_nonexistent_file.json
#> Error in `abort_http()`:
#> ! http_403 Unspecified error
#> Backtrace:
#>     ▆
#>  1. └─googleCloudStorageR::gcs_get_object(...)
#>  2.   └─googleAuthR (local) ob()
#>  3.     └─googleAuthR:::doHttrRequest(...)
#>  4.       └─googleAuthR:::retryRequest(...)
#>  5.         └─googleAuthR:::abort_http(status_code, error)
#>  6.           └─rlang::abort(...)
#> ✖ Downloading my_nonexistent_file.json ... failed
readLines(json_file)
#> Warning in readLines(json_file): incomplete final line found on
#> 'my_nonexistent_file.json'
#> [1] "878234653535-compute@developer.gserviceaccount.com does not have storage.objects.get access to the Google Cloud Storage object. Permission 'storage.objects.get' denied on resource (or it may not exist)."

Created on 2023-06-20 with reprex v2.0.2

Session info ``` r sessioninfo::session_info() #> ─ Session info ─────────────────────────────────────────────────────────────── #> setting value #> version R version 4.2.2 (2022-10-31) #> os Ubuntu 22.04.1 LTS #> system x86_64, linux-gnu #> ui X11 #> language (EN) #> collate en_US.UTF-8 #> ctype en_US.UTF-8 #> tz Etc/UTC #> date 2023-06-20 #> pandoc 2.19.2 @ /usr/lib/rstudio-server/bin/quarto/bin/tools/ (via rmarkdown) #> #> ─ Packages ─────────────────────────────────────────────────────────────────── #> package * version date (UTC) lib source #> askpass 1.1 2019-01-13 [2] RSPM (R 4.2.0) #> assertthat 0.2.1 2019-03-21 [2] RSPM (R 4.2.0) #> cachem 1.0.8 2023-05-01 [1] RSPM (R 4.2.0) #> cli 3.6.1 2023-03-23 [1] RSPM (R 4.2.0) #> curl 5.0.1 2023-06-07 [1] RSPM (R 4.2.0) #> digest 0.6.31 2022-12-11 [1] RSPM (R 4.2.0) #> evaluate 0.21 2023-05-05 [1] RSPM (R 4.2.0) #> fansi 1.0.4 2023-01-22 [1] RSPM (R 4.2.0) #> fastmap 1.1.1 2023-02-24 [1] RSPM (R 4.2.0) #> fs 1.6.2 2023-04-25 [1] RSPM (R 4.2.0) #> gargle 1.5.0 2023-06-10 [1] RSPM (R 4.2.0) #> glue 1.6.2 2022-02-24 [2] RSPM (R 4.2.0) #> googleAuthR 2.0.1 2023-04-11 [1] RSPM (R 4.2.0) #> googleCloudRunner 0.5.0.9000 2023-06-16 [1] Github (muschellij2/googleCloudRunner@0c1a0d3) #> googleCloudStorageR * 0.7.0 2021-12-16 [1] RSPM (R 4.2.0) #> googlePubsubR 0.0.4 2023-03-03 [1] RSPM (R 4.2.0) #> htmltools 0.5.5 2023-03-23 [1] RSPM (R 4.2.0) #> httr 1.4.6 2023-05-08 [1] RSPM (R 4.2.0) #> jose 1.2.0 2021-11-06 [1] RSPM (R 4.2.0) #> jsonlite 1.8.5 2023-06-05 [1] RSPM (R 4.2.0) #> knitr 1.43 2023-05-25 [1] RSPM (R 4.2.0) #> lifecycle 1.0.3 2022-10-07 [2] RSPM (R 4.2.0) #> magrittr 2.0.3 2022-03-30 [2] RSPM (R 4.2.0) #> memoise 2.0.1 2021-11-26 [2] RSPM (R 4.2.0) #> metagce 0.4.0 2023-06-16 [1] Github (StreamlineDataScience/metagce@1196e43) #> openssl 2.0.6 2023-03-09 [1] RSPM (R 4.2.0) #> pillar 1.9.0 2023-03-22 [1] RSPM (R 4.2.0) #> R6 2.5.1 2021-08-19 [2] RSPM (R 4.2.0) #> reprex 2.0.2 2022-08-17 [2] RSPM (R 4.2.0) #> rlang 1.1.1 2023-04-28 [1] RSPM (R 4.2.0) #> rmarkdown 2.22 2023-06-01 [1] RSPM (R 4.2.0) #> rstudioapi 0.14 2022-08-22 [2] RSPM (R 4.2.0) #> sessioninfo 1.2.2.9000 2023-06-16 [1] Github (r-lib/sessioninfo@ec1ebd1) #> trailrun 0.5.4 2023-06-16 [1] Github (StreamlineDataScience/trailrun@3fa1010) #> utf8 1.2.3 2023-01-31 [1] RSPM (R 4.2.0) #> vctrs 0.6.2 2023-04-19 [1] RSPM (R 4.2.0) #> withr 2.5.0 2022-03-03 [2] RSPM (R 4.2.0) #> xfun 0.39 2023-04-20 [1] RSPM (R 4.2.0) #> yaml 2.3.7 2023-01-23 [1] RSPM (R 4.2.0) #> zip 2.3.0 2023-04-17 [1] RSPM (R 4.2.0) #> #> [1] /home/gcer/R #> [2] /usr/local/lib/R/site-library #> [3] /usr/local/lib/R/library #> #> ────────────────────────────────────────────────────────────────────────────── ```