【发布时间】:2021-02-23 09:34:15
【问题描述】:
我正在尝试创建一个 lambda 函数,它接受图像作为多部分对象,然后进行一些处理并将其上传到 s3 存储桶并向用户提供一些响应。
我找到了一些如何继续的示例,但是我不明白我是否必须创建两个 lambda 函数并上传单独的 jar,或者可以以不同的方式完成。
到目前为止,我有解析多部分并上传到 s3 的服务,我的问题是如何使用 aws lambdas,谢谢大家
public String uploadFile(MultipartFile multipartFile) {
String fileUrl = "";
try {
File file = convertMultiPartToFile(multipartFile);
String fileName = generateFileName(multipartFile);
fileUrl = endpointUrl + "/" + bucketName + "/" + fileName;
uploadFileTos3bucket(fileName, file);
} catch (Exception e) {
throw new RuntimeException(e);
}
return fileUrl;
}
private File convertMultiPartToFile(MultipartFile file){
File convFile = new File(file.getOriginalFilename());
try {
FileOutputStream fos = new FileOutputStream(convFile);
fos.write(file.getBytes());
fos.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
return convFile;
}
private String generateFileName(MultipartFile multiPart) {
return new Date().getTime() + "-" + multiPart.getOriginalFilename().replace(" ", "_");
}
private void uploadFileTos3bucket(String fileName, File file) {
s3client.putObject(new PutObjectRequest(bucketName, fileName, file)
.withCannedAcl(CannedAccessControlList.PublicRead));
}
【问题讨论】:
标签: java amazon-web-services amazon-s3 aws-lambda