지난 글에 이어서 aws-sdk for javascript을 사용해 S3 버킷에 객체를 업로드하려고 한다.
aws-sdk v3에서 버킷에 요청을 보낼 때, 두가지 단계가 있다.
putObject의 경우,
1에 해당하는 함수가 PutObjectCommand
이다. 여기에 객체 정보를 담은 Object를 넣으면 s3Client에 보낼 command 객체를 만들어준다.
const command = new PutObjectCommand({
Bucket: process.env.AWS_S3_BUCKET_NAME,
Key: "key-for-object",
Body: "object",
});
이렇게 만들어진 객체를 send()를 통해 s3 버킷에 보내면 된다.
const response = await s3Client.send(command);
전체 소스코드는 다음과 같다.
const { S3Client, PutObjectCommand } = require("@aws-sdk/client-s3");
const s3Client = new S3Client({ region: "ap-northeast-2" });
async function putObject(){
const params = {
Bucket: process.env.AWS_S3_BUCKET_NAME,
Key: "key-for-object",
Body: "object",
};
const command = new PutObjectCommand(params);
const response = await s3Client.send(command);
return response;
}
putObject();