2017-04-18 18 views
0

現在、私はS3バケットを使用していくつかのpdfsをアップロードしています。アップロード中にamazon S3バケット内の特定のファイルにパブリックアクセスする方法はありますか?

ここでは、これらのpdfsのどれもがURL経由で直接アクセスできません。しかし、私はいくつかの特定のpdfsを公開中に公開したいと思っています。

バケツのすべてのリソースを公開する方法を説明しているthisのブログがあります。しかし、私はこれを望んでいない、私はいくつかの特定のファイルがアップロードの間に公開されたい。

現在、私はruby aws-sdkを使用しています。私はこれが可能であることを知りたいですか?

+0

これはあなたにいくつかの助けを与えることができますhttp://stackoverflow.com/questions/3142388/how-to-make-10-000-files-in -s3-public?rq = 1 – AsifAli72090

+0

あなたが使用しようとしたコードスニペットを共有できますか? –

答えて

1

あなたが任意の特定のコードを貼り付けていなかったので、あなたが使用してスニペット、私はあなたがデフォルトで公式AWS Ruby SDK

File.open('/source/file/path', 'rb') do |file| 
    s3.put_object(bucket: 'bucket-name', key: 'object-key', body: file) 
end 

を使用して、これを達成しようと、任意のアップロードされたファイルは、したがって、URLでアクセスプライベートではありませんATRと仮定します。

パブリックにする場合は、追加のパラメータ:acl: "public-read"を設定する必要があります。デフォルトでは、すべてのAWS SDKはACL privateを使用しています。最後の例を変更すると、次のようになります。

これで、URLでファイルにアクセスできるはずです。

あなたはここS3上の缶詰のACLの詳細を読むことができます:http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl

関連する問題