我有一個s3存儲桶,其中包含包含不同網站的單個文件夾。我想生成一個預先登記的url來訪問特定的文件夾,但我想讓url允許訪問該文件夾中的所有對象。這可能嗎?s3 presigned url用於訪問整個文件夾
我使用的是紅寶石aws-sdk gem v2。
我現有的代碼看起來像通過這個
def get_object_url(bucket_name, object_name)
res = Aws::S3::Resource::new
obj = res.bucket(bucket_name).object(object_name)
exp = 1.day
url = obj.presigned_url(:get, {
expires_in: exp,
virtual_host: true
})
url
end
如OBJECT_NAME不工作的文件夾名稱。
一個相對簡單的解決方法是爲您的應用程序接受一個用戶的請求 - 例如 - 路徑模式,如'/下載/安全/ $ {鬥}/$ {s3_object_path }'。如果用戶被授權下載,則生成一個過期很短的簽名URL,並在'Location:'標頭中返回帶有簽名URL的'302' http重定向。我使用這種方法在S3中升級了可下載文件的傳統平臺。 –