私はAWS Lambda関数を使用してファイルを作成し、それをS3上のバケットに保存しています。うまくいきます。 putObject
メソッドの実行後、data
オブジェクトが取得されますが、最近追加されたオブジェクトのEtag
しか含まれていません。aws-sdkを使用してAWS S3上のファイルのURLを取得するにはどうすればよいですか?
s3.putObject(params, function(err, data) {
//data only contains Etag
});
ブラウザで使用できる正確なURLを知っている必要があります。クライアントはそのファイルを見ることができます。フォルダは既に公開されており、S3コンソールからリンクをコピーするとファイルが表示されます。
私はgetSignedUrl
を使用しようとしましたが、それが返すURLは他の目的に使用されています。
ありがとうございます!
presigned urlはダウンロードリンクとして使用できますが、非公開アイテムではx分後に期限切れになります。あなたのアイテムが公開されている場合、最も簡単なことは予測可能なパターンを使用してURLを連結することです。 –
* S3コンソールからリンクをコピーした場合*そこにパターンが表示されますか?バケット内の各オブジェクトのURLは、まったく同じパターンに従います。 –