AWS Время ожидания запроса Lambda Endpoint на Snowflake Connection в Python занимает много времени для подключения - PullRequest
0 голосов
/ 27 января 2020

При запросе к AWS Lambda API Gateway получен тайм-аут запроса конечной точки. AWS лямбда написана с использованием Snowflake Python Connector и Python версия 3.6 и AWS Lambda создает снежинку и запрашивает снежинку для данных

conn = snowflake.connector.connect(
    user=sf_user,
    password=sf_pwd,
    account=sf_acc,
    warehouse=sf_warehouse,
    database=sf_db,
    schema=sf_schema
)

Эта строка занимает более 50 секунд, в результате которых AWS API-шлюз выдает истекшему времени ожидания ответа на запрос конечной точки

1 Ответ

0 голосов
/ 11 апреля 2020

Пожалуйста, сначала обратитесь к этой документации: https://community.snowflake.com/s/article/How-to-Use-Snowflake-with-AWS-Lambda Есть много факторов, которые в совокупности создают такое замедление. Немногие из которых вы можете адресовать:

  • Та же область вашего лямбда-кода и область снежинки.
  • Отключите ведение журнала консоли разъема, см. { ссылка }
  • Увеличение размера хранилища снежинок.

Кроме того, если есть несколько запросов, вы, безусловно, можете создать пул потоков / процесс-пул или использовать asyncIO. если его нет на AWS Lamda . Вы платите за выполнение в секунду в лямбде, и для каждого запроса создание соединения и его уничтожение являются накладными расходами. Вы должны создать сервис, используя любую инфраструктуру ASGI, а затем обернуть соединение снежинкой для одного или нескольких запросов в каждом запросе. Надеюсь, это поможет: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...