如何在R的s3sync函数中自定义前缀参数下载指定日期S3文件
解决S3按日期子文件夹同步CSV的问题
- 你目前的核心问题是在
s3sync的prefix参数里直接写了字符串"folder/subfolder/today ",没有把之前生成的today变量值代入,导致同步路径指向错误。 - 只需要通过字符串拼接把
today变量整合到prefix路径中即可解决。
修改后的完整代码:
key <- "ABCD" # access key ID secret <- "XYZ" # secret key Sys.setenv( "AWS_ACCESS_KEY_ID" = key, "AWS_SECRET_ACCESS_KEY" = secret, "AWS_DEFAULT_REGION" = "Global" ) # 获取当天日期并拼接成S3路径格式 today <- paste0('date=', Sys.Date()) # 拼接完整的目标prefix路径 target_prefix <- paste0("folder/subfolder/", today) # 执行同步操作 s3sync( path = ".", bucket = "s3://my_bucket", prefix = target_prefix, region = "Global", direction = "download" )
关键说明:
- 用
paste0替代paste可以省略分隔符,更简洁地完成字符串拼接; - 拼接后的
target_prefix会自动生成folder/subfolder/date=YYYY-MM-DD格式的路径,精准匹配当天的S3子文件夹; Sys.Date()默认生成的YYYY-MM-DD格式正好和你S3文件夹的日期格式一致,无需额外调整。
内容的提问来源于stack exchange,提问作者Sandhya
相关产品推荐
相关产品推荐

