Я пытаюсь развернуть свою лямбда-функцию, которая выполняет запросы и расшифровывает данные с помощью модуля Pyprypto Crypto.Cipher AES.Вот как выглядит мой импорт:
import boto3
from botocore.vendored import requests
import gzip
from io import StringIO, BytesIO
import base64
import sys
from datetime import datetime
import time
from Crypto.Cipher import AES
Я запускаю свой код в локальной среде Mac, и он отлично работает, но когда я загружаю свой пакет в AWS Lambda и тестирую его, я получаю следующую ошибку:
Unable to import module 'lambda_function': cannot import name '_AES'
Я проверил этот вопрос и загрузил пакет pycrypto из этого репозитория git, сделал сборку и скопировал результаты в мою папку lambda, упаковал ее и все еще не работал.
Я проверил результат сборки и заметил, что в этой папке:
pycrypto-2.6.1/build/lib.linux-x86_64-3.7/Crypto/Cipher
Файлы AES создаются с расширением, связанным с моей Mac OS
Я попытался собрать пакет на экземпляре Linux EC2, но все равно получаю ту же ошибку (хотя файлы меняются)
Я попробовал новый путь, основанный на следующем вопросе, но все равно не смог с той же ошибкой.
"errorMessage": "Невозможно импортировать модуль 'lambda_function'"
Почему AWS Lambda не может прочитатьМодуль AES в пакете pycrypto?Я развернул функцию Lambda с другими внешними библиотеками и никогда не сталкивался с этой проблемой.