部署不会生成所有软件包

时间:2018-09-28 00:02:12

标签: aws-lambda serverless-framework

我正在使用一个名为DialogFlow的Google库。在过去6或7天内,导入该库的所有lambda函数开始出现初始化错误。

我注意到它几乎在无服务器框架从1.31.0升级到1.32.0的同时进行。在我的serverless.yml文件中,我输入:frameworkVersion:“> = 1.0.0 <2.0.0”

如果我编译这样的简单代码:

import dialogflow


def hi(event, context):
    return {
        "statusCode": 200,
        "body": "ahhh hiiii"
    }

lambda中生成的错误如下:

  

START RequestId:907fe23d-c2b1-11e8-b745-27859211eefc版本:$ LATEST   模块初始化错误:“ google-api-core”分布为   找不到,并且是应用程序所必需的

     

END RequestId:907fe23d-c2b1-11e8-b745-27859211eefc REPORT RequestId:   907fe23d-c2b1-11e8-b745-27859211eefc时长:47.02 ms已结算   持续时间:100 ms内存大小:1024 MB使用的最大内存:32 MB模块   初始化错误找不到“ google-api-core”分发   并且是应用程序所必需的

1 个答案:

答案 0 :(得分:0)

问题是使用低级语言(通常是C语言)的库。当无服务器生成数据包时,不会发送这些语言。

解决方案:通过 serverless-python-requirements 插件启用docker打包。

custom:
  pythonRequirements:
    dockerizePip: true