代码之家  ›  专栏  ›  技术社区  ›  MrD

运行shell脚本的AWS lambda

  •  -1
  • MrD  · 技术社区  · 7 年前

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

    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.
    

    码头工人 安装在实例上。。。有什么建议吗?我的印象是我可以通过python打cmd电话?

    1 回复  |  直到 7 年前
        1
  •  2
  •   TaiT's    7 年前

    Docker安装在实例上。。。有什么建议吗?我在下面 印象中我可以通过python进行cmd调用?

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

    根据文件:

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

    为了调用命令,您必须将/embbed函数所需的包安装到lambda部署包中。见: https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html

    希望有帮助!