45 lines
1.1 KiB
TypeScript
45 lines
1.1 KiB
TypeScript
import { S3Client, ListObjectsV2Command } from "@aws-sdk/client-s3";
|
|
import dotenv from "dotenv";
|
|
|
|
dotenv.config();
|
|
|
|
const client = new S3Client({
|
|
region: process.env.S3_REGION || "fsn1",
|
|
endpoint: process.env.S3_ENDPOINT,
|
|
credentials: {
|
|
accessKeyId: process.env.S3_ACCESS_KEY || "",
|
|
secretAccessKey: process.env.S3_SECRET_KEY || "",
|
|
},
|
|
forcePathStyle: true,
|
|
});
|
|
|
|
async function run() {
|
|
try {
|
|
const bucket = process.env.S3_BUCKET || "mintel";
|
|
const prefix = `${process.env.S3_PREFIX || "mintel-me"}/media/`;
|
|
|
|
console.log(`Listing objects in bucket: ${bucket}, prefix: ${prefix}`);
|
|
|
|
const command = new ListObjectsV2Command({
|
|
Bucket: bucket,
|
|
Prefix: prefix,
|
|
});
|
|
|
|
const response = await client.send(command);
|
|
|
|
if (!response.Contents) {
|
|
console.log("No objects found.");
|
|
return;
|
|
}
|
|
|
|
console.log(`Found ${response.Contents.length} objects:`);
|
|
response.Contents.forEach((obj) => {
|
|
console.log(` - ${obj.Key} (${obj.Size} bytes)`);
|
|
});
|
|
} catch (err) {
|
|
console.error("Error listing S3 objects:", err);
|
|
}
|
|
}
|
|
|
|
run();
|