如何通过AWS Jupyter Notebook查询(Postgres)RDS数据库? - python

我正在尝试通过python,更具体地说是Jupyter笔记本查询RDS(Postgres)数据库。总的来说,我一直在尝试的是:

import boto3

client = boto3.client('rds-data')

response = client.execute_sql(
    awsSecretStoreArn='string',
    database='string',
    dbClusterOrInstanceArn='string',
    schema='string',
    sqlStatements='string'
)

我收到的错误是:

BadRequestException: An error occurred (BadRequestException) when calling the ExecuteSql operation: ERROR: invalid cluster id: arn:aws:rds:us-east-1:839600708595:db:zprime

参考方案

最后,它比我想象的要简单得多,没什么特别的。基本上,这是我访问本地数据库之一之前使用的解决方案。只需import一个针对您的数据库类型(Postgres,MySQL等)的特定库,然后连接到该库即可通过python执行查询。

我不知道这是否是最好的解决方案,因为通过python进行查询可能比直接进行查询要慢得多,但这是目前可行的方法。

import psycopg2

conn = psycopg2.connect(database = 'database_name',
                        user =     'user',
                        password = 'password',
                        host =     'host',
                        port =     'port')

cur = conn.cursor()

cur.execute('''
            SELECT *
            FROM table;
            ''')

cur.fetchall()

45码