【问题标题】:Deploy does not generate all packages部署不会生成所有包
【发布时间】:2018-12-26 11:24:55
【问题描述】:

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

我注意到它几乎与无服务器框架从版本 1.31.0 升级到 1.32.0 的时间相同。在我的 serverless.yml 文件中,我输入了:frameworkVersion: ">=1.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 毫秒 持续时间:100 毫秒内存大小:1024 MB 使用的最大内存:32 MB 模块 初始化错误找不到“google-api-core”分发 并且是应用程序所要求的

【问题讨论】:

    标签: aws-lambda serverless-framework


    【解决方案1】:

    问题在于使用低级语言(通常是 C 语言)的库。而当 serverless 生成数据包时,那些语言是不会发送的。

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

    custom:
      pythonRequirements:
        dockerizePip: true
    

    【讨论】:

      猜你喜欢
      • 2014-10-07
      • 2013-12-27
      • 2022-08-20
      • 2014-11-29
      • 2016-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多