33

現在の状況

Travis-CIでコミットするたびにビルドするプロジェクトが GitHub にあります。ビルドが成功するたびに、Travis はアーティファクトを S3 バケットにアップロードします。誰でも簡単にバケット内のファイルにアクセスできるようにする方法はありますか? 読み取り専用のアクセス キーを生成できることはわかっていますが、ユーザーが Web ブラウザーからファイルにアクセスする方が簡単です。

"." のルート ドキュメントで Web サイト ホスティングを有効にしています。設定。

ウェブサイトのホスティング設定のスクリーンショット

ただし、バケットのエンドポイントにアクセスしようとすると、まだ 403 Forbidden が表示されます。

403禁止します

質問

ユーザーが Amazon S3 に保存されているアーティファクトをウェブブラウザから簡単に参照およびダウンロードできるようにするにはどうすればよいですか? できればサードパーティのクライアントなしで。

4

4 に答える 4

29

この関連する質問を見つけました: S3 静的 Web サイトのディレクトリ一覧

結局のところ、バケット全体のパブリック読み取りを有効にすると、S3 はディレクトリ リストを提供できます。問題は、それらが HTML ではなく XML であるため、あまりユーザーフレンドリーではないことです。

リストを生成するには、次の 3 つの方法があります。

  • 自分のコンピューターの各ディレクトリに対して index.html ファイルを生成し、それらを s3 にアップロードして、新しいファイルをディレクトリに追加するたびに更新します。非常にローテク。Travis から直接ビルド ファイルをアップロードしていると言っているので、余分な作業が必要になるため、これはあまり実用的ではないかもしれません。

  • クライアント側の S3 ブラウザー ツールを使用します。

  • サーバー側のブラウザ ツールを使用します。

    • s3browser (PHP)
    • s3indexスカラ。Procfile の存在によって、Heroku に簡単にデプロイできる可能性があります。Scalaの経験がないのでわかりません。
于 2013-06-05T10:35:35.737 に答える
2

私は同じ問題を抱えていたので、

  1. 新しいコンテキスト メニュー「公開する」。
  2. https://console.aws.amazon.com/s3/homeにアクセスします。
  3. バケットを選択し、各フォルダまたはファイル (または複数選択) を右クリックして、
  4. "公表します"
于 2014-07-06T12:55:03.500 に答える