如何通过 AWS Jupyter 笔记本查询 (Postgres) RDS 数据库?

How to query a (Postgres) RDS DB through an AWS Jupyter Notebook?

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

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()