[PYTHON] Une idée fausse improbable sur la façon de spécifier un gestionnaire pour un zip téléchargé avec Lambda

Conclusion

Le gestionnaire Lambda est spécifié au format nom-fichier.fonction-nom, donc

Dossier de travail

Ce que je voulais faire

Pour les petits services, je souhaitais spécifier une version zip d'un ensemble de fonctions Lambda lors de la création de la fonction.

Structure des dossiers

+ attakei/
  + __init__.py
  + models.py
  + handlers.py 

Contenu du fichier (partie)

attakei/handlers.py


def get_articles(event, context):
    return {}

def search_by_tags(event, context):
    return {"""something"""}

Je souhaite gérer les fonctions comme un ensemble en spécifiant divers gestionnaires comme attakei.handlers.get_articles lors de la création de la fonction Lambda avec la configuration comme.

Je ne peux pas le faire pour une raison quelconque

Dans cet état, créez un zip conformément aux règles AWS et téléchargez-le sur S3 → Si vous spécifiez un gestionnaire au format ci-dessus, il ne fonctionnera pas du tout lors de l'exécution de Test. Un tel journal continue d'apparaître.

Unable to import module 'attakei.handlers': No module named attakei.handlers

Essayez et erreur

Une liste de choses que j'ai essayées pour arriver à la conclusion ci-dessus

Par ici, je me suis dit "Qu'est-ce que c'est?" Document Allez résoudre le problème. Vous devez lire le document correctement

Chiennes

Lors de la définition d'une commande de console lors de la création d'un package python, elle est décrite comme chemin du module: nom de la fonction, il semble donc que mon cerveau stagnait car j'ai complètement tourné mon attention dessus. Cependant, je l'apprécie personnellement si je l'avais adapté à ce format ...

Recommended Posts

Une idée fausse improbable sur la façon de spécifier un gestionnaire pour un zip téléchargé avec Lambda
Une histoire sur la façon de spécifier un chemin relatif en python.
Une histoire sur la façon de traiter le problème CORS
[Python 3.8 ~] Comment définir intelligemment des fonctions récursives avec des expressions lambda
Comment créer une API de machine learning sans serveur avec AWS Lambda
Réfléchissez à la façon d'écrire un filtre avec les versions Shotgun API-Contact
Comment ajouter un package avec PyCharm
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
Comment lire un fichier CSV avec Python 2/3
Comment déguiser un fichier ZIP en fichier PNG
Comment partager un environnement virtuel [About requirements.txt]
Comment envoyer un message à LINE avec curl
Comment dessiner un graphique à 2 axes avec pyplot
Comment développer une application de panier avec Django
Comment créer un dictionnaire avec une structure hiérarchique.
Comment spécifier des attributs avec Mock of Python
Comment écrire une instruction ShellScript Bash for
Procédure de création d'application multi-plateforme avec kivy
[TF] Comment spécifier les variables à mettre à jour avec Optimizer
Une histoire sur la façon dont les utilisateurs de Windows 10 ont créé un environnement pour utiliser OpenCV3 avec Python 3.5
Comment convertir / restaurer une chaîne avec [] en python
[Python] Comment dessiner un graphique linéaire avec Matplotlib
Comment créer un sous-menu avec le plug-in [Blender]
Comment obtenir un utilisateur connecté avec les forms.py de Django
Comment convertir un objet de classe en dictionnaire avec SQLAlchemy
[Python] Comment spécifier l'emplacement de téléchargement avec youtube-dl
[Go] Comment créer une erreur personnalisée pour Sentry
J'ai réfléchi à la façon d'apprendre la programmation gratuitement.
Comment créer un référentiel local pour le système d'exploitation Linux
L'histoire de la gestion de theano avec TSUBAME 2.0
Comment créer un environnement de développement pour TensorFlow (1.0.0) (Mac)
[Python] Comment dessiner un diagramme de dispersion avec Matplotlib
Je veux lier une variable locale avec lambda
[Django] Une histoire sur le fait de rester coincé dans un marais en essayant de valider un zip avec un formulaire [TDD]