繁体   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