aws / aws/amazon-redshift-python-driver
IAMR not supported
- Langage dominant
- Python
- Étoiles
- 220
- Forks
- 86
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
I can't connect to an IAMR redshift user with this lib
```sql
CREATE USER "IAMR:test_to_delete_redshift_ci" PASSWORD DISABLE;
```
but It work when I manually use boto3+psycopg2
```python
import os
import boto3
import psycopg2
import redshift_connector
os.environ["AWS_PROFILE"] = "redshift_test_role_2"
def with_lib():
conn = redshift_connector.connect(
iam=True,
cluster_identifier="YYYYYY",
database="AAAAA",
db_user="test_to_delete_redshift_ci",
password="",
region="eu-west-1",
)
cursor = conn.cursor()
cursor.execute("SELECT 10,20")
print(cursor.fetchall())
def manually():
RS_PORT = 5439
DATABASE = 'AAAAAA'
CLUSTER_ID = 'YYYYYYY'
RS_HOST = 'XXXXXXXXXXX'
client = boto3.client('redshift')
cluster_creds = client.get_cluster_credentials_with_iam(ClusterIdentifier=CLUSTER_ID)
print(cluster_creds)
conn = psycopg2.connect(
host=RS_HOST,
port=RS_PORT,
user=cluster_creds['DbUser'],
password=cluster_creds['DbPassword'],
database=DATABASE
)
cur = conn.cursor()
cur.execute("SELECT 10,20")
print(cur.fetchall())
if __name__ == '__main__':
with_lib()
manually()
```
with_lib fail with
```log
redshift_connector.error.ProgrammingError: {'S': 'FATAL', 'C': '42704', 'M': 'user "IAM:test_to_delete_redshift_ci" does not exist', 'F': '/opt/brazil-pkg-cache/packages/RedshiftPADB/RedshiftPADB-1.0.7910.0/AL2_x86_64/generic-flavor/src/src/pg/src/backend/utils/init/miscinit.c', 'L': '976', 'R': 'InitializeSessionUserId'}
```
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par exécuter with_lib() et manually() à partir de l’exemple de l’issue, puis comparez le comportement de l’utilisateur et de la connexion générés. Suivez le point d’entrée de l’authentification IAM du connecteur, puis vérifiez qu’un utilisateur IAMR se connecte correctement et que SELECT 10,20 renvoie les lignes attendues.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- aws, python
- Domaine
- authentication, databases
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100