Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 向AWS Lambda添加包_Python_Amazon Web Services_Aws Lambda - Fatal编程技术网

Python 向AWS Lambda添加包

Python 向AWS Lambda添加包,python,amazon-web-services,aws-lambda,Python,Amazon Web Services,Aws Lambda,我是AWS Lambda的新手,我正在尝试向我的函数中添加一个谷歌谷歌api python客户端,到目前为止我读到的是这样做的方法: 我在本地下载该文件pip安装google api python客户端-t./google,然后压缩google文件夹,在AWS lambdaCreate layer部分将其作为一个.zip文件上传 我对另一个软件包pip安装google auth oauthlib-t./google\u auth 我的lambda函数如下所示: 当我运行它时,我得到: Respo

我是AWS Lambda的新手,我正在尝试向我的函数中添加一个谷歌
谷歌api python客户端
,到目前为止我读到的是这样做的方法:

  • 我在本地下载该文件
    pip安装google api python客户端-t./google
    ,然后压缩
    google
    文件夹,在AWS lambda
    Create layer
    部分将其作为一个.zip文件上传
  • 我对另一个软件包
    pip安装google auth oauthlib-t./google\u auth
  • 我的lambda函数如下所示:
  • 当我运行它时,我得到:

    Response:
    {
      "errorMessage": "Unable to import module 'lambda_function': No module named 'apiclient'",
      "errorType": "Runtime.ImportModuleError"
    }
    


    如何将这些包包含在脚本中?

    在处理层时,zip文件的所有模块/库都应位于“python”文件夹中,如下所示。您可以使用
    $pip install google api python client-t./python
    zip-r layer.zip python
    安装该包,并尝试将其作为新层上传,并在函数中引用

    您可以使用
    $zipinfo layer.zip
    $unzip-l layer.zip
    快速验证.zip文件的输出,以确保它符合文档的要求-

    pillow.zip
    │ python/PIL
    └ python/Pillow-5.3.0.dist-info
    
    pillow.zip
    │ python/PIL
    └ python/Pillow-5.3.0.dist-info