簡體   English   中英

Ruby aws-sdk-“ .exists?”表示該文件不存在,即使我在存儲桶中看到了該文件

[英]Ruby aws-sdk - “.exists?” says the file doesn't exist even though I see it in the bucket

我整個下午都在檢查是否存在上傳到AWS S3的文件。 我使用Ruby On Rails和名為aws-sdk v2的gem。

首先-該文件存在於存儲桶中,位於以下位置:

test_bucket/users/10/file_test.pdf

沒有錯別字,這是確切的路徑。 此外,存儲桶+憑據已正確設置。

這是我嘗試檢查文件是否存在的方法:

config = {region: 'us-west-1', bucket: AWS_S3_CONFIG['bucket'], key: AWS_S3_CONFIG['access_key_id'], secret: AWS_S3_CONFIG['secret_access_key']}
Aws.config.update({region: config[:region], 
                   credentials: Aws::Credentials.new(config[:key], config[:secret]),
                   :s3 => { :region => 'us-east-1' }})
bucket = Aws::S3::Resource.new.bucket(config[:bucket])

puts bucket.object("file_test.pdf").exists?   

輸出始終為false

我還嘗試了puts bucket.object("test_bucket/users/10/file_test.pdf").exists? 但是還是false

另外,我嘗試在AWS S3儀表板中將文件公開,但沒有成功,仍然為false 單擊生成的鏈接時,該文件可見。

但是問題是當我使用aws-sdk檢查文件是否存在時,輸出仍然為false

我究竟做錯了什么?

謝謝。

您需要將完整路徑傳遞給對象(不包括存儲桶名稱) users/10/file_test.pdf

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM