Lambda@EdgeからAWS SDK for JavaScriptでS3のファイルを取得 | スラッシュから始まるキー指定でエラー

ファイル取得でNoSuchKeyエラー

Lambda@EdgeからAWS SDK for JavaScriptでS3のファイルを取得するため、以下のコードを書いたところエラーが出てしまった。

const s3 = new AWS.S3();
let params = {
    Bucket: 'sample',
    Key: '/test/hogehoge.txt'
}
s3.getObject(params, function(err, data) {
});
"message": "The specified key does not exist.",
"code": "NoSuchKey",

sampleバケットに、/test/hogehoge.txtが存在し、パブリックアクセスも許可されている。

なぜキーが見つからず、ファイルが取得できないのか?

S3のキー指定で先頭のスラッシュは不要

実は、S3のキー指定では先頭のスラッシュ(「/」)は不要なのだ。

const s3 = new AWS.S3();
let params = {
    Bucket: 'sample',
    Key: 'test/hogehoge.txt'
}
s3.getObject(params, function(err, data) {
});

このようにすると無事取得できた。