阿里云函数计算支持 Python 运行环境
阿里云函数计算服务是一个事件驱动的全托管计算服务,自 4 月份发布以来,受到了很多开发者的关注。通过函数计算,开发者只需要编写函数代码,就能够快速地开发出弹性伸缩地 Serverless 应用。
今天函数计算北京区域(华北 2)正式上线,同时推出了对 Python 语言的支持,开发者可以使用 Python 来编写函数。一个最简单的函数代码如下:
代码如下:
def my_handler(event, context):
return 'hello world'
- 函数名
- my_handler需要与创建函数时的"Handler"字段相对应:例如创建函数时指定的 Handler 为main.my_handler,那么函数计算会去加载main.py中定义的my_handler函数
- event 参数
- event 参数是用户调用函数时传入的数据,其类型是str
- context 参数
- context 参数中包含一些函数的运行时信息(例如 request id/临时 AK 等)。其类型是FCContext,具体结构和使用在下面的使用 context介绍
- 返回值
- 函数的返回值会作为调用函数的结果返回给用户,它可以是任意类型:对于简单类型会函数计算会把它转换成 str 返回,对于复杂类型会把它转换成 JSON 字符串返回

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 大拿来玩!
参考:
https://www.v2ex.com/t/360304
https://www.v2ex.com/t/368118
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 互联互通正塑造中国—中亚新格局 7904774
- 2 歼-15西太平洋雨中带弹驱离外机 7808825
- 3 浙江一大学学费每人每学年9.6万 7713607
- 4 高温天小心这些物品成为危险品 7619539
- 5 泡泡玛特回应姚晨晒限量版LABUBU 7521482
- 6 外交部:强烈谴责美方袭击伊朗 7424247
- 7 美空袭伊朗细节:超125架飞机参战 7329867
- 8 胖东来董事长公园跳舞笑得像个孩子 7237181
- 9 外交部发布撤侨视频:回家 7141541
- 10 曝《庆余年3》将官宣开播时间 7041923