【问题标题】:Rails Amazon S3 authorizing private files using presigned urlsRails Amazon S3 使用预签名 URL 授权私有文件
【发布时间】:2015-02-28 01:34:41
【问题描述】:

我有以下问题,

在我的 rails 4 应用程序中,我在 s3 上托管图像/视频。目前我公开了所有文件,例如我可以通过将公共链接存储在数据库中来访问的图像。

但是,我希望某些图像视频是私有的。

我使用以下方法查看了预签名的 url 选项

s3 =  Aws::S3::Client.new(
        region: AWS_REGION, 
        access_key_id: S3_CONFIG['access_key_id'],
        secret_access_key: S3_CONFIG['secret_access_key']
 )
resource = Aws::S3::Resource.new(client: s3)   
bucket = resource.bucket(BUCKET_NAME)
utilities = bucket.objects(prefix: '/folder').each do |obj|
       obj.presigned_url(:get, expires_in: 3600).to_s
end

这很好,但是我将如何使用预签名的 url,因为我显然不能像公共链接一样将它们存储在数据库中。

我使用的是 aws-sdk 版本 2

我也想知道这是否是一个好的解决方案?

感谢您的任何提示, 让

【问题讨论】:

    标签: ruby-on-rails amazon-s3 aws-sdk


    【解决方案1】:

    这里是Presigner Doc

    例子:

    signer = Aws::S3::Presigner.new
    url = signer.presigned_url(:put_object, bucket: "bucket", key: "path")
    

    【讨论】:

      猜你喜欢
      • 2018-12-27
      • 2021-10-18
      • 1970-01-01
      • 1970-01-01
      • 2012-10-11
      • 2015-10-13
      • 2016-04-01
      • 1970-01-01
      • 2017-02-15
      相关资源
      最近更新 更多