Отключить SSL-соединение в Airflow / Redshift - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь настроить ETL из MySQL - S3 - Redshift, используя Airflow. MySQL SSL отключен, поскольку является внутренней БД.

Проблема в том, что Airflow пытается использовать SSL-соединение по умолчанию, и я не могу найти способ отключить это.

Я продолжаю получать MySQLdb._exceptions.OperationalError: (2026, 'Ошибка подключения SSL: ошибка: 1408F10B: Подпрограммы SSL: ssl3_get_record: неправильный номер версии')

В mysql_hook.py указан код ниже для подключения SSL:

if conn.extra_dejson.get('ssl', False):
    # SSL parameter for MySQL has to be a dictionary and in case
    # of extra/dejson we can get string if extra is passed via
    # URL parameters
    dejson_ssl = conn.extra_dejson['ssl']
    if isinstance(dejson_ssl, six.string_types):
        dejson_ssl = json.loads(dejson_ssl)
    conn_config['ssl'] = dejson_ssl

Дополнительная настройка настраивается в соединениях с воздушным потоком, как показано ниже:

{
  "cursor":"dictcursor",
  "charset":"utf8"
}

Я не могу найти определенную команду Json для использования здесь в Интернете для отключения SSL.

Я много раз пробовал использовать такие вещи, как «ssl»: «false» и т. Д. c, но ни один из них не имеет никакого эффекта вообще.

Может ли кто-нибудь помочь с тем, что необходимо передать в nAirflow Extra для отключения SSL при подключении к MySQL БД?

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