我正在使用无服务器框架,我似乎无法按照自己的方式打包我的功能。
我当前的文件夹目录看起来像这样:
service/
serverless.yml
function1/
package.json
handler.js
node_modules/
...
function2/
handler.py
requirements.txt
venv/
...
是否可以选择我要在zip文件中包含哪个文件夹,还可以指定zip文件中的相应目标路径?
例如,我想将function1
文件夹中的所有内容进行划将所有内容,但所有这些文件夹中的所有内容都应位于zip文件的根级别。目前,所有生成的文件都位于zip文件中的名为function1
的文件夹中。
包装不起作用(文档)。您无法指定将保存在ZIP中的文件树。您只能在此Zip中指定您将 include 或排除。
在文档链接中,您可以看到使用 artifact 的选项。在这种情况下,您可以使用所需的规则开发自己的代码来邮政编码,并输出无服务器框架使用的ZIP文件。有可能,但我希望您不需要这个。
为什么要将文件夹" function1"的内容移至根级别?也许您的真实问题是:"如何引用位于另一个文件夹的Lambda函数?" 。如果是这种情况,则可以在> Serverless.yml 文件中使用以下内容:
service: test
functions:
func1:
handler: function1/handler.func1
func2:
handler: function1/handler.func2
语法是文件夹/filename.function 。
另一个解决方案是为每个文件夹创建一个 serverless.yml 文件。这种方法的问题是您将无法从函数访问函数1。