使用Node.js在私有AWS S3中存储图片

在这里插入代码片@TOC

AWS学习笔记(一)

因为公司没有自己的服务器,利用AWS S3来存储图片,将生成的URL值存入Postgresql数据库。
今天在这里简单介绍操作步骤,同时也感谢分享原作者gravity well (Rob Tomlin)

Amazon Web Services S3概述

亚马逊Web服务(AWS)允许用户使用其基于云的对象存储服务——亚马逊简单存储服务(Amazon Simple storage service, Amazon S3)来存储图像等文件,它们存储在S3 bucket中。

要了解关于Amazon S3的更多信息,请查看的这篇文章Jovan Hernandez和这一篇文章Gonzalo P.

在这篇文章中,主要实现通过node.js在web页面上显示存储在S3 bucket中的图像。这样就可以避免将图片存储在文件系统中。

开始部署

AWS 假设

  • 这里假设你已经有了私有的S3 bucket,具体起什么名字都是可以的,或者就叫做upload-image
    -demo。
  • 也假设你已经有了 IAM credentials或者 EC2 角色可以允许连接 S3 bucket。

我是用的是Visual Studio Code(VSCode),并使用node.js 安装。

创建web服务器

首先,先使用express 来创建服务器

  1. 创建一个目录,并使用VSCode打开文件夹
  2. 创建一个名叫index.js的文件,然后在Terminal窗口中打入如下内容来创建package.json,使index.js文件为默认。

npm init -y

  1. 在终端中输入下边一行代码安装 express

npm install express

  1. 在index.js中构建我们的基础网页服务器

const express=require(‘express’);
const app=express();
const PORT=3200;
// Our default route
app.get(’/’,(req,res)=>{
res.send(‘Testing’);
})
app.listen(PORT,()=>{
console.log(Web Server running on port ${PORT});
});

  1. 打开控制台,测试你的代码,控制台中应该显示在端口3000上运行。
const express = require('express');
const app = express();
const PORT = 3000;

app.get('/', (req, res) => {
	res.send('Testing');
})
app.listen(PORT, ()=> {
	console.log(`Web Server running on port ${PORT}`);
});

Tips: 为了启动index.js内容,需要提前安装nodemon来监控我们的web服务器。启动命令为

nodemon node index.js

我是一个偶尔坚持学习的技术爱好者----喧嚣城市猎人羽牙 獠。

你可能感兴趣的:(使用Node.js在私有AWS S3中存储图片)