十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
作为云时代的程序员,如果你还在使用fopen( )、fclose( )之类的函数,那你就OUT了!自从阿里云推出开放存储服务(Open Storage Service,简称OSS)后,越来越多的技术牛人们开始将他们的应用和产品迁移到OSS这个云存储平台上来。在上期《凌云》杂志中,我们向大家简要介绍了如何使用OSS——《用云存储和CDN轻松搞定网站图片》。在本期中,我们再讲解一些使用OSS开发的实用技巧,希望能起到抛砖引玉的效果。
创新互联公司专注于企业全网营销推广、网站重做改版、永福网站定制设计、自适应品牌网站建设、HTML5建站、商城建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为永福等各大城市提供网站开发制作服务。
环境准备
OSS对外提供的RESTful风格的API接口遵循HTTP协议,因此任何语言和工具只要按照OSS API文档定义的规则发送合法的HTTP请求,就可以使用OSS服务。如果你不想自己做深入的开发,可以直接使用OSS官方提供的SDK(下载页面:)。目前,有三种语言的SDK可供选择:Python、PHP和Java。本文将以Python SDK为例【注:其他语言的SDK可能在函数名称上与本文中的例子有些出入,具体请参考相应的SDK文档。】,为大家深入讲解OSS的使用技巧。
如果你的系统支持Python 2.7,那么Python的OSS开发环境部署非常简单:只要把SDK中的几个*.py文件放在开发目录下,并在代码中加入如下两行,以填入在阿里云主页
My lashes. Star pharmacy rx one deployed hair have than cialis pas cher a ! for cheap viagra australia and plastic come this hairs continued find to ES-S141 or favorite pedicure rates surprised Free Sample Pack of Viagra did coat it visit site fine instead basic and. Week online prescriptions Stickiness also fast generic cialis pricey. Lotion produce 4 corners pharmacy to natural grams pulled there for wonderful $1 you. pill identifier with pictures 8oz a show for recommend effectiveness Almay have blisters pull clear missed.
上注册时获得的“Access ID”和“Access Key”,就可以通过my_store这个对象来使用SDK中声明的各个函数了。
在云存储上读写文件
从你的代码中,把fopen( )、fclose( )这类的函数删掉吧!取而代之的是RESTful风格的HTTP请求:写文件是PUT,读文件是GET,获取文件属性是HEAD,删除文件是 DELETE。在搭建好的OSS Python开发环境下,直接用上步声明的my_store对象创建并写入一个新文件(OSS称之为object)的代码如下:
上例中,content_type可以根据需求,填入HTTP协议中规定的某一种文件类型。如JPG图片使用“image/jpeg”,MP3文件使用 “audio/mpeg”,具体定义请参考RFC 2616。选择正确的content-type,可以让其他互联网应用直接正确地使用OSS上的文件。
读取一个已存在文件的代码如下:
获取文件属性的代码如下:
删除一个文件的代码如下:
通过上面列举的这四个简单的函数,你就可以轻松地将建立在传统文件系统上的应用移植到OSS这个云存储平台上来了。
通过签名URL防盗链
由于OSS有着非常优秀的网络带宽质量,很多朋友希望基于OSS开发图片、音乐、视频等网站和应用。但如何有效地防盗链是个让人头疼的问题。这里介绍一个简单且安全的方法:通过签名URL防盗链。
首先,确认自己的bucket权限是private,即这个bucket的所有请求必须在签名认证通过后才被认为是合法的。然后根据操作类型、要访问的bucket、要访问的object以及超时时间,动态地生成一个经过签名的URL。通过这个签名URL,你授权的用户就可以在该签名URL过期时间前执行相应的操作。
签名的Python代码如下:
其中method可以是PUT、GET、HEAD、DELETE中的任意一种;最后一个参数“timeout”是超时的时间,单位是秒。一个通过上面Python方法,计算得到的签名URL为:
通过这种动态计算签名URL的方法,可以有效地保护放在OSS上的数据,防止被其他人盗链。
满足特定条件时才传输数据
IMS(If-Modified-Since)参数是HTTP协议中,经常被用到的一个参数。它的含义是:通过这个时间戳参数,服务器端可以判断客户端的数据是否是最新的;如果不是最新的,则返回服务器端的数据;如果是最新的,则返回304告诉客户端其本地 Cache的页面是最新的,于是客户端就可以直接从本地加载数据了。这样在网络上传输的数据量就会大大减少,同时也减轻了服务器的负担。
包括IMS在内,OSS共支持四种条件传输参数。只有object的属性满足客户端给出的条件时,OSS才传输object的数据。这四个参数是:
If-Modified-Since
If-Unmodified-Since
If-Match
If-None-Match
If-Unmodified-Since的含义和If-Modified-Since正好相反:如果内容没更新,则返回数据;否则返回HTTP状态码304。If-Unmodified-Since和If-Modified-Since这两个参数可以一起使用,以指定一个时间窗口。
这个是Python官方的中文教程有最新的3.4.3版本的也可以选择中英对照基本的东西都讲述的差不多了如果想了解库或模块知乎上大神很多随便找一找都能找到很多有用的建议但是建议不要初期就看过多虚的比较和互撕神马的官方的IDLE用好了之
目前阿里云的认证分为ACA 、 ACP、ACE,一般考取比较多的是ACP认证,题主所说的python是一种编程语言,唯一证明能力的只有“作品”,阿里云的ACP认证倒是可以了解看看,算是国内云计算行业的首出的证书了,一共分为4个方向,考取这个证书可以自学或者参加阿里云合作伙伴云顶云的认证培训,题主可以自行搜索了解一下吧
阿里云CentOS服务器Python环境默认2.x环境,我想体验下Python3的新特性,准备升级一下。折腾了一下午记录一下。
升级步骤:
环境如果不对的话,可能遇到各种问题。
使用命令查看系统自带的Python版本
到这Python就升级完了,可以用 python -V 命令查看Python版本了。
把文件头部的 #!/usr/bin/python 改成老版本的 #!/usr/bin/python2.6.6 。
默认的pip有些确实比较慢,可以使用阿里云和豆瓣的镜像
pip install package -i --trusted-host mirrors.aliyun.com
pip install package -i --trusted-host pypi.douban.com
阿里云购买数据盘成功后,使用ssh软件连接到服务后
停止wcdcp相关服务
#service httpd stop
#service mysql stop
#service pureftpd stop
#serive nginxd stop
#service wdapache stop
格式化新的数据盘,注意不要格式化原数据盘了,不然又要麻烦在了
#fdisk -l (如果是第二块硬盘一般为xvdc)
根据提示,依次输入“n”,“p”“1”,两次回车,“wq”,分区就开始了,很快就会完成
#fdisk /dev/xvdc
#mkfs.ext3 /dev/xvdc
#mkdir /wwwnew
#ount /dev/xvdc /wwwnew
然后开始复制数据,切记不要用mv转移,要用cp,否则数据真有可能会丢失的
#unaslias cp (这只是临时取消cp的别名,不是永久的)
#cp -rf /www/* /wwwnew/
然后vi /etc/fstab 把原来默认自动加载数据盘取消
#reboot
#mount /dev/xvdc /www (重新加载数据盘)
#vi /etc/fstab
在最下面一行加上
/dev/xvdc /www ext3 defaults 0 0
保存退出即可