我想使用 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/