如何在Windows操作系统上使用zip文件编写AWS Python3 Lambda函数

时间:2018-01-12 01:23:55

标签: python amazon-web-services aws-lambda twilio python-3.6

我已经查看了有关使用Windows操作系统上的Lambda管理控制台从zip文件创建python3 lambda函数的教程或帮助。不幸的是,我有点不走运。这是我在哪里......

按照AWS网站上的说明操作:https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html

  • 我在桌面上创建了一个名为“APP”的文件夹。在该文件夹中,我在“App”的根级别使用名为“twilio_test.py”的python代码保存文件。

我的Python代码:

import twilio

def lambda_handler(event, context):
    account_sid = '##########################'
    auth_token = '###########################'

    client = Client(account_sid, auth_token)

    message = client.messages.create(
            to = '###########',
            from_ = '###########',
            body = "Test")
    return("success")
  • 由于我使用的是twilio库,我根据上面链接中的说明将其安装在我的'APP'文件夹的根目录中。说明具体说,“使用pip安装任何库。再次,您在目录的根级别安装这些库。”:

pip install twilio -t \path\to\directory

  • 然后我根据引用的指令“压缩'APP'的内容,”压缩project-dir目录的内容,这是你的部署包。压缩目录内容,而不是目录。“这会创建一个名为'twilio_test'的zip文件。

  • 然后我转到AWS lambda管理控制台,上传zip文件'twilio_test'。

这是我感到困惑的地方。处理程序应该是什么?

到目前为止,我是否正确完成了所有事情?如果没有,安装twilio,压缩文件然后在AWS lambda中使用它的最佳方法是什么?

尽管说AWS lambdas本身难以使用是不合适的,但我可以说我天生就很困惑。

2 个答案:

答案 0 :(得分:2)

最初我认为用anaconda进行pip安装是个问题,所以我使用了powershell。这很有效,但只是因为我指定了完整的文件路径,因为@ sid8491指出了here

我最初使用过:

<C:\ProgramData\Anaconda3> C:\Users\userName> pip install twilio -t \Desktop\APP

无效

但是使用:

<C:\ProgramData\Anaconda3> C:\Users\userName> pip install twilio -t  C:\Users\userName\Desktop\APP

做了工作

这将适用于powershell或anaconda

答案 1 :(得分:1)

您应该将处理程序设置为python_file_name.function_name。所以在你的情况下它应该是twilio_test.lambda_handler

来自documentation

  

...您在Python代码中指定函数名称,以便在创建Lambda函数时用作处理程序。有关使用控制台创建Lambda函数的说明,请参阅Create a Simple Lambda Function。在此示例中,处理程序是hello_python.my_handler(file-name.function-name) ...