«Невозможно импортировать имя DEFAULT_CIPHERS из urllib3.util.ssl_» на AWS Lambda с использованием слоя ⇐ Python

Программы на Python
Anonymous
«Невозможно импортировать имя DEFAULT_CIPHERS из urllib3.util.ssl_» на AWS Lambda с использованием слоя

Сообщение Anonymous »

Чего я хочу достичь
Спарсить веб-сайт с помощью AWS Lambda и сохранить данные на S3.
Проблемы, с которыми я столкнулся
Когда я запускаю Lambda, появляется следующее сообщение об ошибке.

{ "errorMessage": "Невозможно импортировать модуль 'lambda_function': невозможно
импортировать имя 'DEFAULT_CIPHERS' из 'urllib3.util.ssl_'
(/opt/python/urllib3/util/ssl_.py)", "errorType":
"Runtime.ImportModuleError", "requestId":
"fb66bea9-cbad-4bd3-bd4d-6125454e21be", "stackTrace": []

< h1>Код
Минимальный лямбда-код следующий.

Код: Выделить всё

import requests
import boto3

def lambda_handler(event, context):
s3 = boto3.client('s3')
upload_res = s3.put_object(Bucket='horserace-dx', Key='/raw/a.html', Body='testtext')

return event
В Lambda был добавлен слой. Файлы были сохранены в папке python с помощью приведенных ниже команд, заморожены в zip-файл, а затем загружены в AWS Lambda в виде слоя.

Код: Выделить всё

!pip install requests -t ./python --no-user
!pip install pandas -t ./python --no-user
!pip install beautifulsoup4 -t ./python --no-user
  • Ведроhorserace-dx существует
  • Папка raw существует
    Роль лямбды задана правильно. Он может читать и записывать в S3.
  • Среда выполнения Lambda — Python 3.9. Версия Python на локальном компьютере – 3.9.13.
Что я сделал до сих пор
Я гугл " невозможно импортировать имя «DEFAULT_CIPHERS» из «urllib3.util.ssl_» и нашел несколько предложений. Я создал слой с помощью следующего кода и тщетно пытался еще раз.

Код: Выделить всё

!pip install requests -t ./python --no-user
!pip install pandas -t ./python --no-user
!pip install beautifulsoup4 -t ./python --no-user
!pip install urllib3==1.26.15 -t ./python --no-user
Итак, что мне следует сделать, чтобы достичь того, чего я хочу? Будем очень признательны за любые предложения.

Подробнее здесь: https://stackoverflow.com/questions/764 ... -lambda-us

Вернуться в «Python»