尝试检索存储桶元数据时,使用aws.s3 :: get_bucket_df()返回错误?

时间:2019-02-25 09:26:08

标签: r dataframe amazon-s3 aws-cli

我在S3中有一个存储库:

my_bucket:
    folder1
      subfolder11
        subfolder111
    folder2
      subfolder21
       subfolder221

我正在尝试连接并加载存储桶中所有相关文件夹中的所有文件。这是我尝试执行的操作:

library(aws.s3)
bl <- bucketlist()

### Builds a dataframe of the files in a bucket###
dfBucket <- get_bucket_df(bucket = "my_bucket", prefix = "folder1/", max = Inf)

我遇到以下错误:

  

z [[“ Owner”]] [[“ ID”]]中的错误:下标超出范围

请告知。

更新: 我实际上可以在其他存储桶上运行此命令,而问题集中在存储在S3的特定存储桶中的文件名太长。

请根据新信息建议解决方法。

2 个答案:

答案 0 :(得分:1)

使用rbindlist(dfBucket)解决。

在我的情况下,get_bucket()可以正常工作并返回了存储桶内容列表。

get_bucket_df()返回了一个错误:

  

z [[“ Owner”]] [[“ ID”]]中的错误:下标超出范围

我试图找出可以解决我问题的方法,并使用rbindlist解决了我的问题。

那些评论和批评我回答的人,我完全不同意。如果您知道如何解决,请分享您的答案。不提供解决方案就抛出批评家是不专业的!

答案 1 :(得分:0)

我基于“ get_bucket”而不是“ get_bucket_df”使用的解决方案:

start()

“ get_bucket_df”的工作不稳定,有时会给我“ z [[“ Owner”]] [[“ ID”]]中的错误:下标超出范围”。

因此,此解决方案解决了该问题。