阿里云函数计算支持 Python 运行环境,欢迎来玩 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rockuw
V2EX    推广

阿里云函数计算支持 Python 运行环境,欢迎来玩

  •  
  •   rockuw 2017-07-06 21:09:09 +08:00 5726 次点击
    这是一个创建于 3026 天前的主题,其中的信息可能已经有所发展或是发生改变。

    阿里云函数计算服务是一个事件驱动的全托管计算服务,自 4 月份发布以来,受到了很多开发者的关注。通过函数计算,开发者只需要编写函数代码,就能够快速地开发出弹性伸缩地 Serverless 应用。

    今天函数计算北京区域(华北 2)正式上线,同时推出了对 Python 语言的支持,开发者可以使用 Python 来编写函数。一个最简单的函数代码如下:

    def my_handler(event, context): return 'hello world' 
    1. 函数名
      • my_handler需要与创建函数时的"Handler"字段相对应:例如创建函数时指定的 Handler 为main.my_handler,那么函数计算会去加载main.py中定义的my_handler函数
    2. event 参数
      • event 参数是用户调用函数时传入的数据,其类型是str
    3. context 参数
      • context 参数中包含一些函数的运行时信息(例如 request id/临时 AK 等)。其类型是FCContext,具体结构和使用在下面的使用 context介绍
    4. 返回值
      • 函数的返回值会作为调用函数的结果返回给用户,它可以是任意类型:对于简单类型会函数计算会把它转换成 str 返回,对于复杂类型会把它转换成 JSON 字符串返回

    更详细的介绍请参考Python 编程指南

    结合API 网关,开发者可以方便地将自己的函数以 HTTP 的方式提供给别人使用。

    下面是一个简单的图片拼接和旋转的例子

    fc-python-demo

    代码如下:

    import base64 import logging import random import oss2 from wand.image import Image TEMPLATE = open('/code/index.html').read() def my_handler(event, context): logger = logging.getLogger() logger.info('event: %s', event) creds = context.credentials auth = oss2.StsAuth(creds.accessKeyId, creds.accessKeySecret, creds.securityToken) bucket = oss2.Bucket(auth, 'oss-cn-shanghai-internal.aliyuncs.com', 'rockuw-sh-2') fc_obj = bucket.get_object('fc.png') py_obj = bucket.get_object('python.png') with Image(file=fc_obj) as fc_img: with Image(file=py_obj) as py_img: img = Image() img.blank(fc_img.width + py_img.width + 20, py_img.height) img.composite(image=fc_img, left=0, top=0) img.composite(image=py_img, left=fc_img.width+20, top=0) img.rotate(random.randint(0, 360)) img_enc = base64.b64encode(img.make_blob(format='png')) resp = { 'isBase64Encoded': False, 'statusCode': 200, 'body': TEMPLATE.replace('{fc-py}', img_enc) } return resp 

    欢迎各位 Python 大拿来玩!

    参考:

    15 条回复    2017-12-14 06:46:45 +08:00
    ech0x
        1
    ech0x  
       2017-07-06 21:23:51 +08:00 via iPad
    看上去好酷。
    只支持计算服务吗?网络部分的计费是怎样的?库的支持呢?
    rockuw
        2
    rockuw  
    OP
       2017-07-06 21:29:08 +08:00 via iPhone
    @ech0x 目前是公测阶段不收费。我们内置了一些库,可以直接使用。你也可以把依赖的库跟代码一起打包进去就能使用。
    zuolan
        3
    zuolan  
       2017-07-06 23:33:09 +08:00
    FaaS ( Function as a Service ),多年以前,我完全没想到还有这种操作。。。。
    mlyy
        4
    mlyy  
       2017-07-07 00:08:45 +08:00 via iPhone
    @zuolan Google App Engine, Amazon Lambda 两个历史都挺久了。
    wzw
        5
    wzw  
       2017-07-07 07:16:29 +08:00
    华南 1 什么时候有
    jy02201949
        6
    jy02201949  
       2017-07-07 09:12:48 +08:00
    还是 2.7 啊,不习惯不习惯
    coolcoffee
        7
    coolcoffee  
       2017-07-07 09:36:57 +08:00 via iPhone
    征集
    janxin
        8
    janxin  
       2017-07-07 10:14:13 +08:00 via iPhone
    @jy02201949 阿里云基本上都是 2 的吧… sdk 都只支持 2
    v166ex
        9
    v166ex  
       2017-07-07 10:18:14 +08:00
    请支持 3.4+
    rockuw
        10
    rockuw  
    OP
       2017-07-07 10:38:45 +08:00
    @jy02201949 @binfengxy python3.6 我们后面会支持
    rockuw
        11
    rockuw  
    OP
       2017-07-07 10:40:08 +08:00
    @wzw 其他区域会陆续上线,欢迎加入我们的用户群来交流: https://help.aliyun.com/document_detail/53087.html
    aiqinxuancai
        12
    aiqinxuancai  
       2017-07-08 11:14:33 +08:00
    函数能不能定时器触发...
    interlu1990
        13
    interlu1990  
       2017-07-08 11:51:02 +08:00
    @rockuw Hi,您好,我试了一下函数计算。我在本地打包了 Pillow 的 4.2.1,但是上传不能用,import 会出错。
    rockuw
        14
    rockuw  
    OP
       2017-07-08 14:50:51 +08:00
    @aiqinxuancai 定时器触发后面会支持的
    @interlu1990 参考 `https://help.aliyun.com/document_detail/56316.html?#adding-modules` 来添加依赖模块

    如果还有疑问,欢迎加入我们的用户群来交流: `https://help.aliyun.com/document_detail/53087.html`
    wzw
        15
    wzw  
       2017-12-14 06:46:45 +08:00
    @rockuw 华南节点还没有上呀. 目前开始收费没
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2553 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 02:18 PVG 10:18 LAX 19:18 JFK 22:18
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86