AirJD 焦点
AirJD

没有录音文件
00:00/00:00
加收藏

Python遇到AMAZON-如何开发云时代的应用 by 费良宏@AWS

发布者 pyconf   简介 PyChina 大会
发布于 1453858861821  浏览 5631 关键词 Python 
分享到

第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,Significantwhite­space, 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/boto3­sample



第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开发之旅



支持文件格式:*.pdf
上传最后阶段需要进行在线转换,可能需要1~2分钟,请耐心等待。