使用' R'和" aws.s3"如何将目录推送到云端

时间:2016-11-07 17:06:37

标签: r amazon-s3 subdirectory

我有一个包含子目录的目录和许多需要推送到Amazon S3的文件。我正在使用' R'工具。

是否有一种干净/简单的方式说"将此目录及其中的所有内容推送到S3"?我希望避免一次推送一个,并手动重新构建目录结构。

1 个答案:

答案 0 :(得分:1)

如果使用完整路径名将文件名传递给put_object(),然后使用这些路径名作为其对象键,则可以隐式重新创建目录结构。基本上这样(虽然你可能想在某种程度上使用它们作为对象键时更改文件名):

library("aws.s3")
lapply(dir(full.names = TRUE, recursive = TRUE), function(filename) {
    put_object(file = filename, object = filename, bucket = "mybucket")
})

还有一个实验函数s3sync()应该为完整的文件树执行此操作(但它未经过广泛测试):

s3sync()