`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
}

Я что-то пропустил здесь?

0 ответов

Другие вопросы по тегам