Der Lambda-Handler wird also im Format "Dateiname.Funktionsname" angegeben
Für kleine Dienste wollte ich beim Erstellen der Funktion eine Zip-Version einer Reihe von Lambda-Funktionen angeben.
+ attakei/
+ __init__.py
+ models.py
+ handlers.py
attakei/handlers.py
def get_articles(event, context):
return {}
def search_by_tags(event, context):
return {"""something"""}
Ich möchte die Funktion als Set verwalten, indem ich verschiedene Handler wie attakei.handlers.get_articles beim Erstellen der Lambda-Funktion mit der Konfiguration wie angegeben habe.
Erstellen Sie in diesem Zustand eine Zip-Datei gemäß den AWS-Regeln und laden Sie sie in S3 hoch. → Wenn Sie einen Handler im obigen Format angeben, funktioniert dieser bei der Ausführung von Test überhaupt nicht. Ein solches Protokoll wird immer wieder angezeigt.
Unable to import module 'attakei.handlers': No module named attakei.handlers
Eine Liste von Dingen, die ich versucht habe, zu der obigen Schlussfolgerung zu gelangen
attakei.handlers.get_articles
in der Funktion in main ... OK auffrom attakei.handler import get_articles
in main und registrieren Sie main.get_articles als Handler ... OKHier fühlte ich mich wie "Was ist das?" Dokument Geh und löse das Problem. Sie müssen das Dokument richtig lesen
Beim Definieren eines Konsolenbefehls beim Erstellen eines Python-Pakets wird dieser als "Modulpfad: Funktionsname" beschrieben. Mein Gehirn scheint also zu stagnieren, da ich mich ganz darauf konzentriert habe. Ich persönlich schätze es jedoch, wenn ich es an dieses Format anpassen lassen würde ...
Recommended Posts