OSS 的作用
这个OSS 存储能够帮助我们完成很多新的需求 , 如果你是土豪你可以把它当成一个网盘来使用,如果你是个后端开发者那么恭喜你,你就相当于有了一台静态资源服务器 ! 你可以把图片以及静态页面放到这里 ! 通过OSS获取需要的资源,从而减少服务器的IO操作~,不止如此,一些视频类的网站还可以把需要保持的视频存储到这里,OSS还为我们提供了很多图片处理API,包括防盗链、水印…
阿里云对象存储OSS,主要是用于存储静态资源文件,它提供了很多方便的操作图片的方法(缩放旋转水印等),在实现了OSS的基础上,我们也可以通过购买阿里云的CDN服务轻松的实现内容的分发 !
什么是OSS
阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。它具有与平台无关的RESTful API接口,能够提供99.99999999%的服务持久性… 阿里云OSS详细了解可以参考这个文档 , 这里主要介绍的是使用方式 !
想要使用OSS 存储第一步,先购买阿里云的OSS存储服务,现在有特惠 0.9元 两年40G,当然如果还有更高需求的话那就自己看情况购买 !
如何用Python对接阿里云OSS-SDK?
阿里云sdk传送门 --> 阿里云python-sdk
如何在项目中调用?可以参考我下面的python代码。
安装SDK以及让 HTTP 服务人类的requests库(为了传输网络链接)
pip install oss2
pip install requests
详情代码块
# -*- coding: utf-8 -*-
import os
import time
import requests
import oss2
def put_to_oss(name, link):
# # 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
# Endpoint以杭州为例,其它Region请按实际情况填写。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')
input = requests.get(link)
if '.jpg' in link or '.png' in link:
# <yourObjectName>
bucket.put_object('cgwas/cloud/images/{}'.format(name), input)
else:
# <yourObjectName>
bucket.put_object('cgwas/fileyunketang/{}'.format(name), input)
print('上传成功')
time.sleep(3)
# 设置此签名URL在24小时内有效。
if '.jpg' in link or '.png' in link:
# <yourObjectName>
url = bucket.sign_url('GET', 'cgwas/cloud/images/{}'.format(name), 60 * 60 * 24)
else:
# <yourObjectName>
url = bucket.sign_url('GET', 'cgwas/fileyunketang/{}'.format(name), 60 * 60 * 24)
return url
if __name__ == '__main__':
print(put_to_oss('1558689231407.zip'))