Aws lambda 在NodejsFunction目标包中包含原型文件

Aws lambda 在NodejsFunction目标包中包含原型文件,aws-lambda,aws-cdk,esbuild,Aws Lambda,Aws Cdk,Esbuild,我有一个lambda函数,它应该返回序列化的协议缓冲区负载。为此,我需要与lambda处理程序位于同一目录中的myobject.proto 对于函数本身,我使用AWS CDK构造NodejsFunction newnodejsfunction(这是“lambdatahatcreatesprotobufpayload”{ 条目:'./src/lambda/handlers/LambdaThatCreatesProtobufPayload.ts', 处理程序:“处理程序”, 捆绑:{ 缩小:是的,

我有一个lambda函数,它应该返回序列化的协议缓冲区负载。为此,我需要与lambda处理程序位于同一目录中的
myobject.proto

对于函数本身,我使用AWS CDK构造
NodejsFunction

newnodejsfunction(这是“lambdatahatcreatesprotobufpayload”{
条目:'./src/lambda/handlers/LambdaThatCreatesProtobufPayload.ts',
处理程序:“处理程序”,
捆绑:{
缩小:是的,
}
});

如何将proto文件包含在生成的捆绑包中或提供给lambda函数?

可以将类似
myobject.proto的文件捆绑到

将绑定器配置为使用文件加载器加载.proto文件

newnodejsfunction(这是“lambdatahatcreatesprotobufpayload”{
条目:'./src/lambda/handlers/LambdaThatCreatesProtobufPayload.ts',
处理程序:“处理程序”,
捆绑:{
缩小:是的,
加载程序:{.proto':'file'}
}
});
然后需要处理程序中的文件

const pathToProto=require('./myobject.proto')
捆绑文件具有不同的文件名。因此
pathToProto
包含具有新文件名的路径:

./myobject-55DNWN2R.proto

这将导致在同一目录中部署lambda,其中proto文件和handler文件位于同一目录中