`S3Client.send()` не возвращает `VersionId`
У меня есть ведро, в котором включено управление версиями . В моем приложении ReactJS мне нужно загрузить файлы в корзину и получить новые метаданные объекта. Я использую S3 Client с для загрузки. В документации PutObjectCommandздесь указано:
Версии
Если вы включите управление версиями для корзины, Amazon S3 автоматически создаст уникальный идентификатор версии для сохраняемого объекта. Amazon S3 возвращает этот идентификатор в ответе. Когда вы включаете управление версиями для корзины, если Amazon S3 одновременно получает несколько запросов на запись для одного и того же объекта, он сохраняет все объекты.
Итак, я ожидаю получитьVersionId
. Но не только это полеundefined
, но и другие поля, такие какrequestId
или `cfId.
Вот мой код модуля:
import {
PutObjectCommand,
S3Client
} from '@aws-sdk/client-s3';
const S3_BUCKET_NAME = process.env.S3_BUCKET_NAME;
const AWS_REGION = process.env.AWS_REGION;
const AWS_ACCESS_KEY = process.env.AWS_ACCESS_KEY;
const AWS_SECRET_KEY = process.env.AWS_SECRET_KEY;
const client = new S3Client({
region: AWS_REGION,
credentials: {
accessKeyId: AWS_ACCESS_KEY,
secretAccessKey: AWS_SECRET_KEY
}
});
const uploadToS3 = async function (fileToUpload) {
const data = await fileToUpload.arrayBuffer();
const params = {
Bucket: S3_BUCKET_NAME,
Key: fileToUpload.name,
Body: data
};
const command = new PutObjectCommand(params);
const result = await client.send(command);
console.log(result); // requestId: undefined, extendedRequestId: undefined, cfId: undefined
console.log(`VersionId: ${result.VersionId}`); // VersionId: undefined
}
export default {
uploadToS3
}
Я что-то пропустил здесь?