第1页
“We'regoingtomoveyour hub,thecenterofyour digitallife, intotheCLOUD ...Ifyoudon'tthinkwe're seriousaboutthis,you're wrong.”
SteveJobs,WWDC2011
第3页
“Giftsareeasy... Choicescanbehard... Intheend,weareour choices.
Buildyourselfagreat story.”
JeffBezos,2010
第5页
PYTHON遇到AMAZON
-如何开发云时代的应用
费良宏,AWSEVANGELIST/2015.04
第6页
PYTHON是什么?
一种通用的、高级程序设计语言 一个荷兰人(GuidovanRossum)的设计 / 1991年 一个榜单(TIBOE)上排名第8的语言 / 2015年4月 一大批公司在使用它
Google,Youtube,Instagram,Pinterest,Bing,Reddit,Etsy,Dropbox,Quora, Yelp,Friendfeed,Trulia,Hunch,BloggerandRdio...
一些软件用它开发
AutodeskMaya,GIMP,BitTorrent,Blender3D,Cinema4D,Dropbox, OpenStack,YUM,OpenERP,CivilizationIV,Matplotlib,FreeCAD, MySQLWorkbench,Nuke...
第7页
开发者眼中的PYTHON
在一些人眼中它像一把瑞士军刀,无所不能
“Pythonallowsustoproducemaintainablefeaturesin recordtimes,withaminimumofdevelopers.” CuongDo,SoftwareArchitect,Youtube
一些人觉得它像充满争议,并不完美
Python2vsPython3,Significantwhitespace, Performance,GlobalInterpreterLock(GIL)...
第8页
PYTHON之禅
美胜于丑规则胜于特例 显胜于隐实用胜于单纯 简胜于繁告错胜于沉默 繁胜于杂沉默胜于吵闹 平胜于迭拒绝胜于猜测 疏胜于密唯一胜于显然 读胜于写显然不是作者 现在胜于永不永不胜于匆猝 值得说则必说命名空间很好
- import this (PEP 20)
第9页
爱上PYTHON的理由
让我保持专注 简化的原则,读比写要多 不会有向后兼容的痛苦
效率之上再谈性能 不把我当作傻瓜 不把我当作傻瓜 不假设如何发现错误 喜欢的人毋需多说
键入不多 合乎人性
- Bruce Eckle, "Why I Love Python"
第10页
一小段PYTHON代码可以说明
import urllib.request from bs4 import BeautifulSoup as bs4 htmlfile = urllib.request.urlopen("http://finance.yahoo.com/q?s=AMZN") htmltext = htmlfile.read() soup = bs4(htmltext) for price in soup.find_all(id="yfs_l84_amzn"):
print (price)
第11页
有没关于PYTHON的励志故事?
第12页
听过过YELP吗?
第13页
YELP的大数据难题
第14页
YELP应对之道
第15页
开源项目MRJOB
第16页
你一定知道的NETFLIX
第18页
NETFLIX的PYTHON工具箱
项目地址 https://netflix.github.com/
第20页
成功的故事里面有PYTHON、有AMAZONWEBSERVICE,还 有什么你不知道的...
Boto
第21页
云计算应用开发利器BOTO
什么是 Boto - 面向 Python 开发的 AWS SDK 版本 - Botto 2 (Stable), Boto 3 (Preview) 功能 - 支持 40+ AWS 服务 (S3, EC2, EMR...)
第23页
BOTO3的特性
设计之初已支持 Python2&Python3 从底层支持的数据驱动 针对AWS 新的服务的支持 一致性的使用界面 现代风格的面向对象的 API 与 Boto2共存 可在现有的 Boto2的程序中使用 基于Apache许可的开源项目
第24页
BOTO3中的概念
资源(Resource) - 高级的面向对象的接口 集合(Collection) - 迭代操作资源组的工具 客户端(Clients) - 低层次服务连接 分页器(Paginators) - 响应自动分页 阻塞(Waiters) - 一种阻塞的方法,直到特定的状态满足 Botocore - 提供低级别的客户端、会话、凭据以及配置数据,与AWSCLI共 享
第25页
BOTO3的设计架构
第26页
BOTO3的样例代码
第27页
BOTO3的应用实例-视频转码
源代码- https://github.com/boto/boto3sample
第28页
BOTO3应用-视频转码的基本功能
AWSElasticTranscoderrequires configuration AWSS3bucket for input AWSS3bucket for output AWSSNStopic for notifications IAM role for access Transcoding pipeline Transcoding job
第29页
BOTO3视频转码-会话&连接
第30页
BOTO3视频转码-AWSS3上传文件
第31页
BOTO3视频转码-AWSS3下载文件
第32页
BOTO3视频转码-AWSSNSTOPIC
第33页
BOTO3视频转码-AWSSQSQUEUE
第34页
BOTO3视频转码-AWSIAMROLE
第35页
BOTO3视频转码-AWSTRANSCODINGPIPELINE
第36页
BOTO3视频转码-AWSTRANSCODINGJOB
第37页
我的私人PYTHON收藏
数据分析 iPython, http://ipython.org/ Numpy, http://www.numpy.org/ Pandas, http://pandas.pydata.org/ Scipy, http://www.scipy.org/ Matplotlib, http://matplotlib.org/
机器学习 Scikit-learn, http://scikitlearn.org/stable/index.html
Web 数据获取 Scrapy, http://http://scrapy.org/
Web 应用框架 Flask, http://flask.pocoo.org/
...
第38页
谢谢!
- 体验AmazonWebServices - 开始你的Boto开发之旅