AWS SDKを使用して、S3の特定のファイルが削除できない

0

https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/delete-objects.html 上記のページにあるAWS SDKの使用で指定したファイルを削除しようと試みています。エラーは出ずに、成功はしているとログで出るのですが、実際のファイルは消えません。 ファイル削除するのに時間がかかっているのかと思い、一日おいて確認もしたのですが、やはりファイルは消えていませんでした。 上記のページのjavascriptで試しているのですが、dataのログを見てみるとどうやらmetadataのみ削除しているようでした。ご助言いただけると助かります。

ishi
質問済み 7ヶ月前537ビュー
2回答
0
承認された回答

実行環境が私のローカルに無いのでLambdaで動かしてみたのですが、問題なくS3バケットからファイルが削除されたことを確認できました。
権限にはAmazonS3FullAccessをアタッチしています。
ちなみにファイルがS3になくてもエラーにはならないので確認しているファイル名が正しいか、バケット名が正しいのか確認してみてください。

import { DeleteObjectCommand, S3Client } from "@aws-sdk/client-s3";
const client = new S3Client({});

export const bucketParams = { Bucket: "S3バケット名", Key: "ファイル名" };

export const handler = async (event) => {
  try {
    const data = await client.send(new DeleteObjectCommand(bucketParams));
    console.log("Success. Object deleted.", data);
    return data; // For unit tests.
  } catch (err) {
    console.log("Error", err);
  }
}
profile picture
エキスパート
回答済み 7ヶ月前
0

早速のご返信ありがとうございます。ファイルがS3になくてもエラーにならないのですね。エラーにならないのになぜと思って基本的なところを見落としていたようです。ファイル名のところを間違えて、ファイルのurlを指定してしまってました。ご助言ありがとうございました。無事解決できました!

ishi
回答済み 7ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン