Deploy не генерирует все пакеты - PullRequest
0 голосов
/ 28 сентября 2018

Я использую библиотеку Google под названием DialogFlow.И за последние 6 или 7 дней все лямбда-функции, которые импортируют эту библиотеку, начали выдавать ошибку инициализации.

Я заметил, что это происходит почти в то же самое время, когда серверная платформа была обновлена ​​с версии 1.31.0.до 1.32.0.В моем файле serverless.yml я поместил: frameworkVersion: "> = 1.0.0 <2.0.0" </p>

Если я скомпилирую простой код, подобный этому:

import dialogflow


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

Ошибка, сгенерированная вЛямбда выглядит следующим образом:

START RequestId: 907fe23d-c2b1-11e8-b745-27859211eefc Версия: $ LATEST Ошибка инициализации модуля: Дистрибутив «google-api-core» не найден и требуется дляприложение

END RequestId: 907fe23d-c2b1-11e8-b745-27859211eefc REPI RequestId: 907fe23d-c2b1-11e8-b745-27859211eefc Продолжительность: 47,02 мс Объявленная продолжительность: 100 мс Размер памяти: 1024 МБ Макс. Используемая память:Ошибка инициализации модуля 32 МБ Дистрибутив 'google-api-core' не найден и требуется приложению

1 Ответ

0 голосов
/ 26 декабря 2018

Проблема в библиотеках, которые используют язык низкого уровня (обычно в C).А когда серверы генерируют пакеты, эти языки не отправляются.

Решение: включите упаковку докера через плагин serverless-python-требованиям .

custom:
  pythonRequirements:
    dockerizePip: true
...