Я хочу добавить свой собственный модуль на уровень для общих функций и классов. , но когда я выполняю лямбду, которую я настроил для проверки времени ожидания слоя при импорте нового модуля.
Я могу подтвердить наличие файлов с помощью listdir(), прямо рядом с пакеты, которые до сих пор работали нормально.
Вот упрощенное содержимое моего модуля с именем function.py
Код: Выделить всё
import json
import pymysql
import boto3
class InvalidInputException(Exception):
class FailedConnectionException(Exception):
class InternalAWSException(Exception):
def cors_response(_status_code:int, _response_body:dict) -> dict :
def get_db_connection() -> pymysql.Connection:
class XOREncryptor:
Код: Выделить всё
from .functions import XOREncryptor
from .functions import InvalidInputException
from .functions import FailedConnectionException
from .functions import InternalAWSException
from .functions import cors_response
from .functions import get_db_connection
Моя тестовая лямбда выглядит следующим образом:
р>
Код: Выделить всё
def lambda_handler(event, context):
import os
import json
import ssl
import helper
layer_contents = os.listdir('/opt/python')
helper_contents = os.listdir('/opt/python/helper')
print(layer_contents)
print(helper_contents)
return {
'statusCode': 200,
'body': ''
}
Запуск того же кода без строки «помощник по импорту» работает совершенно нормально и показывает, что файлы находятся там, где я их ожидал.
Подробнее здесь: https://stackoverflow.com/questions/781 ... expectedly