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

0

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

ishi
asked 8 months ago555 views
2 Answers
0
Accepted Answer

実行環境が私のローカルに無いので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
EXPERT
answered 8 months ago
0

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

ishi
answered 8 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions