簡體   English   中英

使用 googleCloudStorageR 的 gcs_upload 將文件上傳到谷歌雲存儲桶以實現統一的桶級訪問

[英]Uploading files to google cloud storage bucket using googleCloudStorageR's gcs_upload for uniform bucket-level access

可能是使用或設置問題:

我正在嘗試使用RgoogleCloudStorageR package 將文件上傳到我的谷歌存儲桶。

跑步:

googleCloudStorageR::gcs_upload("test/my_test.csv")

打印這些消息:

2020-05-11 18:57:19 -- File size detected as 368 bytes
2020-05-11 18:57:20> Request Status Code: 400

然后這個錯誤:

Error: API returned: Cannot insert legacy ACL for an object when uniform bucket-level access is enabled. Read more at https://cloud.google.com/storage/docs/uniform-bucket-level-access.

googleCloudStorageR::gcs_upload是否有不同的用法會成功? (從其文檔中不清楚

如果我將predefinedAcl設置為"default" ,我會收到與JSON相關的錯誤:

Error : lexical error: invalid char in json text

此錯誤消息后跟一些html代碼,然后是此消息:

> xdg-open: unexpected argument 'minimum-scale=1,'
Try 'xdg-open --help' for more information.`.

我不確定它指的是什么JSON但如果它是JSON我設置googleCloudStorageR來驗證對我的存儲桶的訪問權限比我驚訝的是它在這個階段抱怨

看起來在https://github.com/cloudyr/googleCloudStorageR/pull/84中,如果您將predefinedAcl設置為default ,它就支持繼承存儲桶級別的 ACL。 在您的示例中,這將是:

googleCloudStorageR::gcs_upload("test/my_test.csv", predefinedAcl = "default")

googleCloudStorageR開發人員已解決此問題。 它尚未在CRAN發行版上,但它應該從github ( devtools::install_github("cloudyr/googleCloudStorageR") ) 安裝它。

用法是:

googleCloudStorageR::gcs_upload("test/my_test.csv", predefinedAcl = "bucketLevel")

暫無
暫無

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

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