ruby - 无法使用 ruby​​ 脚本从 amazon s3 中删除文件

标签 ruby amazon-web-services amazon-s3 rubygems

我正在使用 aws-sdk-ruby用于删除保存在我的亚马逊 s3 帐户的存储桶中的文件,但我无法弄清楚为什么我能够使用以下代码从 S3 存储桶中删除所需的文件。

这是我的代码

require 'aws-sdk-v1'
require 'aws-sdk'

ENV['AWS_ACCESS_KEY_ID'] = "XXXXXXX"
ENV["AWS_SECRET_ACCESS_KEY"] = '/ZZZZZZZZ'
ENV['AWS_REGION'] = 'us-east-1'


s3 = Aws::S3::Resource.new
bucket = s3.bucket('some-bucket')
obj = bucket.object('https://s3.amazonaws.com/some-bucket/38ac8226-fa72-4aee-8c3d-a34a1db77b91/some_image.jpg')
obj.delete

最佳答案

documentation告诉它应该看起来像这样:

s3 = Aws::S3.new
bucket = s3.buckets['some-bucket']
object = bucket.objects['38ac8226-fa72-4aee-8c3d-a34a1db77b91/some_image.jpg']
object.delete

请注意:

  • 方括号,
  • 对象的键不包括域,并且
  • 不是创建 Aws::S3::Resource 的实例,而是创建 AWS::S3 的实例>

关于ruby - 无法使用 ruby​​ 脚本从 amazon s3 中删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27421972/

相关文章:

ruby - 如何检测类似数组或类似集合的值,同时避免类型检查

amazon-web-services - AWS Serverless,CloudFormation : Error, 尝试将非字符串值填充到变量的字符串中

amazon-web-services - AWS::CloudFormation::Init yum 更新失败

linux - inotifywait 可以说文件在可供其他进程访问之前已关闭吗?

ruby-on-rails - Date.today 与实际日期不对应

ruby - 使用 Ruby 进行文件操作

amazon-web-services - 使用Amazon API查找最新产品

javascript - TypeError : Object(. ..) 不是函数 React S3

amazon-web-services - AWS S3 您的存储桶策略可能会阻止文件夹创建

sql - 如何使用 Ruby 和 SQLite3 从数据库中选择一个值?