AWS SDK 3 WriteGetObjectResponseCommand проблема
В моем текущем проекте мы пытаемся перейти на AWS SDK версии 3 (Javascript). Мы используем лямбда-выражения объекта s3 и столкнулись с проблемой с командой.
WriteGetObjectResponseCommand
код:
import { S3Client, S3 } from '@aws-sdk/client-s3';
const s3Client = new S3Client({});
async function passTransformedPhoto(
body: Buffer,
outputRoute: string,
outputToken: string,
): Promise<WriteGetObjectResponseCommandOutput> {
try {
const writeGetObjectParams: WriteGetObjectResponseCommandInput = {
RequestRoute: outputRoute,
RequestToken: outputToken,
Body: body,
};
const command = new WriteGetObjectResponseCommand(writeGetObjectParams);
return s3Client.send(command);
} catch (e) {
console.log('Error happens in passTransformedPhoto', e);
}
Та же проблема с агрегированным клиентом:
import { S3Client, S3 } from '@aws-sdk/client-s3';
const s3Aggregated = new S3({});
async function passTransformedPhoto(body: Buffer, outputRoute: string, outputToken: string) {
try {
const result = await s3Aggregated.writeGetObjectResponse({
RequestRoute: outputRoute,
RequestToken: outputToken,
Body: body,
});
return result;
} catch (e) {
console.log('Error happens in passTransformedPhoto', e);
}
}
Ошибка:
INFO TypeError: Cannot destructure property 'service' of 'bucketName' as it is undefined.
at getEndpointFromArn (/var/task/node_modules/@aws-sdk/middleware-bucket-endpoint/dist/cjs/bucketHostname.js:26:13)
at Object.bucketHostname (/var/task/node_modules/@aws-sdk/middleware-bucket-endpoint/dist/cjs/bucketHostname.js:17:13)
at /var/task/node_modules/@aws-sdk/middleware-bucket-endpoint/dist/cjs/bucketEndpointMiddleware.js:47:67
at processTicksAndRejections (internal/process/task_queues.js:95:5)
Среда:
@aws-sdk/client-s3: 3.18.0
Node.js: v 14.17.0
typescript: 4.3.2
Мы очень ценим любую помощь или разъяснения по этому вопросу.
1 ответ
Возможно, попробуйте включить все ожидаемые параметры конфигурации S3Client:
const config = {
region: <region>,
bucketEndpoint: true,
}
const client = new S3Client(config);