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

Sac*_*ngh 2 ruby rubygems amazon-s3 amazon-web-services

我使用aws-sdk-ruby删除我的amazon 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
Run Code Online (Sandbox Code Playgroud)

spi*_*ann 9

看看IMO 的文档,看起来应该是这样的:

bucket = s3.buckets['some-bucket']
obj = bucket.objects['38ac8226-fa72-4aee-8c3d-a34a1db77b91/some_image.jpg']
obj.delete
Run Code Online (Sandbox Code Playgroud)

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

  • 请注意,s3.buckets ['name'].object('key').delete接口来自aws-sdk的v1.V2使用s3.bucket('name').object('key').delete. (4认同)