Ich benutze die Serverless Framework und ich kann nicht scheinen, meine Funktionen so zu verpacken, wie ich will.Serverless Framework mit benutzerdefinierten Verpackung
Mein aktueller Ordner-Verzeichnis sieht wie folgt aus:
service/
serverless.yml
function1/
package.json
handler.js
node_modules/
...
function2/
handler.py
requirements.txt
venv/
...
Ist es möglich, Kirsche wählen, welche Ordner ich in der ZIP-Datei enthalten sein sollen und auch die entsprechenden Zielpfad in der Zip-Datei angeben?
Zum Beispiel möchte ich alles innerhalb function1
Ordner zippen, aber alle von ihnen sollten auf der Stammebene der Zip-Datei sein. Im Moment befinden sich alle generierten Dateien in einem Ordner namens function1
in der Zip-Datei.
Ich denke, es ist in Ordnung, wenn es eine Nodejs-Funktion ist, aber was ist mit einer Python-Funktion? Die Lösung, die ich gefunden habe, ist mehr wie ein Hack als eine offizielle Lösung. http://forum.serverless.com/t/aws-python-function-dependencies-load/451/5 – lingxiao
@LingxiaoXia, bei Ihrem Link sagte el0ck, dass Sie das Paket nicht manuell zippen müssen. Der empfohlene Ansatz besteht darin, 64-Bit-Bibliotheken zu installieren (da sie auf einer 64-Bit-Maschine ausgeführt werden) und den os.path-Pfad Ihrer Python-Funktion zu ändern. – Zanon
Ja und ich halte das für einen Hack, weil es eine Codeänderung erfordert. Konfigurationsänderungen sind in Ordnung, aber Codeänderungen scheinen nicht so nachhaltig zu sein. – lingxiao