Я пытаюсь подключиться к своему бессерверному экземпляру Amazon Redshift из Python с помощью пакета redshift_connector, но постоянно сталкиваюсь с ошибкой времени ожидания соединения.
Вот как я пытаюсь подключиться:
host = "redshift-host"
database = "dev"
port=5439
user = "admin"
password = "the-admin-password"
serverless_acct_id = "my_serverless_account_id"
serverless_work_group = "my_workgroup_name"
# Option 1
conn = redshift_connector.connect(
iam=True,
host=host,
database=database,
access_key_id = "AWS_ACCESS_KEY_ID",
secret_access_key = "AWS_SECRET_ACCESS_KEY",
session_token = "AWS_SESSION_TOKEN",
region = "eu-north-1",
is_serverless=True,
serverless_acct_id=serverless_acct_id,
serverless_work_group=serverless_work_group
)
# Option 2
conn = redshift_connector.connect(
host=host,
database=database,
port=port,
user=user,
password=password,
)
Оба из них терпят неудачу:
raise OperationalError("connection time out", timeout_error) redshift_connector.error.OperationalError: ('connection time out', TimeoutError(60, 'Operation timed out'))
Вот подробности моей настройки и того, что я пробовал до сих пор:
Что я проверил:
Мне кажется, что все должно быть настроено правильно и я смогу подключиться. Однако я все еще получаю ошибку тайм-аута. Что я делаю не так?
Я попробовал разрешить весь трафик в группе безопасности и сделать его общедоступным для True
. Я ожидал, что смогу подключиться, но время ожидания истекло.
Обновление:
Я попытался подключиться к БД DBeaver, используя соединение JDBC, что также не удалось с ошибкой: Connection attempt timed out
.
Мне кажется, что что-то в настройке сети не позволяет входящие соединения...
🤔 А знаете ли вы, что...
Python используется в разработке мобильных приложений с использованием Kivy.