R - 如何将文件从一个位置复制并粘贴到 s3 存储桶中的另一个位置(使用 aws.s3)?

标签 r amazon-s3

我想使用 R 中的 aws.s3 包将文件从一个目录复制到同一 S3 存储桶中的另一个目录。我尝试了以下代码,但它引发了错误。

library(aws.s3)
Sys.setenv(AWS_ACCESS_KEY_ID = Sys.getenv('AWS_KEY'),
           AWS_SECRET_ACCESS_KEY = Sys.getenv('AWS_SECRET'),
           AWS_DEFAULT_REGION = "us-west-2")

old_path <- 's3://bucket_name/some_folder/filename.avro'
new_path <- paste0(strsplit(old_path, 'bucket_name')[[1]][1],
                   'bucket_name/old_data',
                   strsplit(old_path, 'bucket_name')[[1]][2])

copy_object(from_object = old_path,
            to_object = new_path,
            from_bucket = 'bucket_name',
            to_bucket = 'bucket_name')

这里是错误-

- Error in parse_aws_s3_response(r, Sig, verbose = verbose) : 
  Not Found (HTTP 404)`.

我能够运行像 bucket_exists 这样的命令,这意味着我能够连接到 AWS。

最佳答案

所以 copy_object 方法由于某种原因不起作用,但我能够得到以下代码来做同样的事情 -

put_object(get_object(old_path, 'bucket_name'), new_path, 'bucket_name')

然后如果你想删除旧文件-

delete_object(old_path, 'bucket_name')

关于R - 如何将文件从一个位置复制并粘贴到 s3 存储桶中的另一个位置(使用 aws.s3)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59674290/

相关文章:

r - ggplot geom_errorbarh 错误(输入为连续时需要离散,但输入为离散时需要连续)

r - 仅对箱线图中的中位数着色

r - 使用 r (dplyr) 中的一组值进行过滤

java - 通过流式传输将分段文件上传到 Amazon S3 时内存使用率过高?

amazon-web-services - 上传开始的 AWS S3 事件通知

带有 header 和 JSON 数据的 RCurl POST 请求

r - 仅当 R 中为数字时才提取字符串的最后一个组成部分

ios - 如何上传到 S3 存储桶使用 iOS 相机拍照

ruby-on-rails - 使用 Heroku 和 Rails 代理来自 S3 的文件

amazon-s3 - AWS CLI 如何查询同一元素的多个参数?