我如何 invoke/deploy 使用 diesel 和 mysql 的无服务器功能?

How do I invoke/deploy a serverless function with diesel and mysql?

当我尝试使用 serverless-rust 插件测试调用无服务器函数处理程序时,出现错误

/usr/bin/ld: cannot find -lmysqlclient
collect2: error: ld returned 1 exit status

您将需要使用 lambda-rust docker 构建器中的 hooks 来安装必要的依赖项并将库文件包含在打包的构建中。

首先在项目的根目录下创建一个名为.lambda-rust的目录,并在其中创建两个文件:

install

#!/usr/bin/env bash

echo "installing mysql dependencies"
yum install -y mysql-devel

package

#!/usr/bin/env bash

echo "packaging mysql library"
zip -j ".zip" /usr/lib64/mysql/libmysqlclient.so.18

根据为您安装的任何一个调整库文件的名称(我在其中一个脚本中添加了一行 echo $(ls /usr/lib64/mysql) 以查看安装后存在的文件)