【问题标题】:To access S3 bucket from R从 R 访问 S3 存储桶
【发布时间】:2015-09-29 14:52:57
【问题描述】:

我在 AWS 上的 EC2 实例上设置了 R。 我有几个 csv 文件上传到 S3 存储桶中。 我想知道是否有办法从 R 访问 S3 存储桶中的 csv 文件。

任何帮助/指针将不胜感激。

【问题讨论】:

  • 我使用RAmazonS3install.packages("RAmazonS3", repos = "http://www.omegahat.org/R", type = "source") 可能适合您安装。
  • @jdharrison - 虽然我尝试在 Windows 上安装该软件包,但它工作正常,但是当我尝试在 AWS 上托管的 ubuntu EC2 实例上安装相同的软件包时,我在尝试安装时收到以下错误R控制台:-错误:依赖项'bitops'不适用于包'RCurl' *删除'/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.0/RCurl'错误:依赖项'RCurl', 'digest' 不适用于包 'RAmazonS3' * 删除 '/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.0/RAmazonS3'
  • @jdharrison - 当尝试从安装在 EC2 机器上的 R Studio 安装相同的包时,出现以下错误:-检查 perl... /usr/bin/perl 您必须安装 Digest: :HMAC_SHA1 检查 md5sum... /usr/bin/md5sum 安装相关软件(Digest::HMAC_SHA1),然后再次运行此配置。错误:包‘RAmazonS3’配置失败*删除‘/home/r/R/x86_64-pc-linux-gnu-library/3.0/RAmazonS3’

标签: r amazon-web-services amazon-ec2 amazon-s3


【解决方案1】:

看看 cloudyr aws.s3 包 (https://github.com/cloudyr/aws.s3),它可能满足您的需求。不幸的是(在撰写本文时),这个包还处于早期阶段并且有点不稳定。

我仅使用 R 的 system() 命令调用 AWS CLI 就取得了很好的成功。这相对容易上手,非常健壮并且得到很好的支持。

  1. 从这里开始:http://aws.amazon.com/cli/
  2. 使用 S3 API 列出对象:http://docs.aws.amazon.com/cli/latest/reference/s3api/list-objects.html
  3. 使用 S3 API 获取对象:http://docs.aws.amazon.com/cli/latest/reference/s3api/get-object.html

因此,例如,在命令行上尝试以下操作:

pip install awscli
aws configure
aws s3 help
aws s3api list-objects --bucket some-bucket --query 'Contents[].{Key: Key}'
aws s3api get-object --bucket some-bucket --key some_file.csv new_file_name.csv

在 R 中,可以这样做:

system("aws s3api list-objects --bucket some-bucket --query 'Contents[].{Key: Key}' > my_bucket.json")

【讨论】:

    【解决方案2】:

    输入以下命令:install.packages("AWS.tools")

    从那里,使用s3.get() 命令。 Help 选项卡应该告诉您参数的内容。

    【讨论】:

    • AWS.tools 已应维护者的要求被 CRAN 归档,维护者现在正在开发一个名为 Rawscli 的替换包。
    【解决方案3】:

    安装libdigest-hmac-perl 包;

    sudo apt-get install libdigest-hmac-perl
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-07
      • 2020-06-15
      • 1970-01-01
      • 1970-01-01
      • 2016-01-22
      相关资源
      最近更新 更多