Запуск Wand на lambda return ImageMagick в системе, вероятно, будет невозможен для загрузки liblqr

#aws-lambda #imagemagick #serverless-framework #wand

#aws-lambda #imagemagick #бессерверный фреймворк #wand

Вопрос:

Попытка запустить библиотеку wand для изменения размера изображения с помощью liquid resize в бессерверной среде при локальном вызове функции работает нормально. но запуск на Lambda приводит к следующей ошибке:

 {
    "errorMessage": "delegate library support not built-in `' (LQR) @ error/resize.c/LiquidRescaleImage/1884nnImageMagick in the system is likely to be impossible to load liblqr.  You might not install liblqr, or ImageMagick may not compiled with liblqr.",
    "errorType": "MissingDelegateError",
    "stackTrace": [
        [
            "/var/task/handler.py",
            123,
            "imageprocess",
            "liquid.liquid_rescale(width, height)"
        ],
        [
            "/var/task/wand/image.py",
            865,
            "wrapped",
            "result = function(self, *args, **kwargs)"
        ],
        [
            "/var/task/wand/image.py",
            3322,
            "liquid_rescale",
            "str(e)   '\n\nImageMagick in the system is likely to be '"
        ]
    ]
}
  

Комментарии:

1. Lambda, вероятно, использует другую версию ImageMagick и делегатов, и в версии lambda, скорее всего, liblqr не установлен в качестве делегата. Проверьте версии и то, что показывают делегаты, когда вы делаете convert -version на обоих.

2. не могли бы вы сказать мне, как проверить версию в lambda

3. Извините, я не знаю и не использую Lambda. Еще одна проблема заключается в том, чтобы убедиться, что вы установили переменную окружения, указывающую на imagemagick в Lambda. Смотрите imagemagick.org/script/resources.php#environment . Жаль, что я не могу помочь больше. Возможно, поиск в Google может обнаружить что-то, что поможет.

4. Я не знаю, будут ли они полезны, но смотрите forums.aws.amazon.com/thread.jspa?threadID=174072 и forums.aws.amazon.com/thread.jspa?threadID=167040 и, возможно mschweighauser.com/create-a-thumbnail-api-service

5. В AWS lambda нет liblqr библиотеки делегирования, поэтому Image.liquid_rescale она недоступна для приложений без сервера.