AWS Lambda运行Shell脚本

时间:2018-11-02 16:54:12

标签: amazon-web-services aws-lambda

我将以下Python代码编写为AWS Lambda的一部分:

import json
import os
def lambda_handler(event, context):
    os.system("docker cp panaxeaA1/ panaxea:app/phdcode")
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }

哪个返回以下错误:


16:21:23
START RequestId: 5693fd73-debb-11e8-9a71-ff6726b7be00 Version: $LATEST

16:21:23
sh: docker: command not found

16:21:23
END RequestId: 5693fd73-debb-11e8-9a71-ff6726b7be00

16:21:23
REPORT RequestId: 5693fd73-debb-11e8-9a71-ff6726b7be00  Duration: 16.04 ms  Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 18 MB
No newer events found at the moment. Retry.
不过,在实例上安装了

Docker ...有什么建议吗?我的印象是我可以通过python进行cmd调用?

1 个答案:

答案 0 :(得分:2)

  

尽管Docker已安装在实例上...有什么建议吗?我当时在   我可以通过python进行cmd调用的印象?

您在说什么“实例”?您没有在自己的实例上执行lambda函数!

根据文档:

  

[...]调用Lambda函数时,AWS Lambda将启动一个   执行上下文基于您提供的配置设置。的   执行上下文是用于初始化的临时运行时环境   Lambda函数代码的任何外部依赖项[...]-> https://docs.aws.amazon.com/lambda/latest/dg/running-lambda-code.html

要调用命令,您必须将功能所需的软件包安装/标记为lambda部署软件包。参见:https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html

希望有帮助!