Python AWS Lambda


AWS Lambda

AWS Lambda是无服务的一个应用产品,我们不需要关心相应的计算资源,我们只主要实现我们相应的逻辑代码,剩下全部的都交给AWS来处理。

Python Lambda

首先我们需要创建一个lambda function在AWS Console里面:

我们需要提供function名字及需要使用的python版本:

代码的实现

除了基本的python的模块,绝大部分模块lambda都不提供,所以我们需要提供相应的package文件,如果是GCP 的lambda functions则只需要提供requirements.txt,但AWS必须我们自己提供压缩的zip文件。

基本的python代码:主要利用requests对http调用测试。

import json
import requests


def lambda_handler(event, context):
    # TODO implement
    d = requests.get("https://www.baidu.com")

    return {"code": d.status_code, 'body': json.dumps('Hello from Lambda!')}


对应的requirements.txt文件

requests

Package打包

我们必须自己使用相应的command来实现代码的打包,在root folder创建一个目录package,然后进入这个文件夹,使用命令:python -m pip install -r requirements.txt -t .,就会将我们需要的模块下载到这个目录下。剩下的就需要我们在这个root folder下面执行压缩成一个zip文件。

文件上传

我们在console里面选择upload将我们的zip文件上传:

Console对应的代码结果

测试结果