Как использовать токен AWS RDS в качестве пароля в строке подключения postres uri? - PullRequest
0 голосов
/ 20 марта 2020

Я использую инструмент, который подключается к базе данных postgres, используя строку URI для подключения. Обычно это работает нормально для меня, просто делая postgres://<username>:<password>@<host>:<port>/<database>. Однако я переместил свою базу данных в AWS RDS, и теперь для пароля базы данных я сейчас использую токен авторизации. Токен выглядит следующим образом:

rdspostgres.cdgmuqiadpid.us-west-2.rds.amazonaws.com:5432/?Action=connect&DBUser=jane_doe&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900...

Когда я вставляю его для пароля, он не может правильно проанализировать из-за формата токена. Например я получаю ошибку psql: invalid URI query parameter: "Action". Как использовать токены в качестве паролей для строки? Есть ли способ, которым мне нужно его кодировать?

Также стоит отметить, что для проверки работоспособности я попытался соединиться с psql -d $DATABASE -p $PORT -U $USER --no-password, установив $PGPASSWORD в качестве переменной среды. Это отлично работало, и я смог подключиться, так что это должно быть что-то с парсингом строки пароля.

1 Ответ

0 голосов
/ 21 марта 2020

Вы проверили, что параметры, которые вы передаете через URI, должны go через раздел параметров вашего инструмента?

Возможно, ваша проблема не в пароле. Я думаю, ваша проблема в том, что инструмент не может понять ваши параметры. Потому что ошибка начинается, когда начинается твое params.

Проверьте, твой синтаксис. Я, например, использую DataGrip, и в этом инструменте вам нужно разделить каждую часть вашего URI и вставить правильную метку, например форму.

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