Skip to main content

DBAPI 2.0 adapter & SqlAlchemy Dialect for the RDS Data API

Project description

DB-API 2.0 driver & SqlAlchemy dialect for the AWS RDS Data API

NOTE: This is currently ALPHA quality software and has not been thoroughly tested yet

The RDS Data API allows use of MySQL and PostgreSQL RDS databases via an HTTP API, making it ideal for use in AWS Lambda because it allow syou to use RDS without running your lambda in a VPC. This library wraps that API in both a DB-API 2.0 driver and SqlAlchemy dialect allowing you to tap into the vast python ecosystem for working with relational databases.

Installation

pip install rdsdataapi

Usage

To use the DB-API 2.0 interface:

from rdsdataapi import connect
con = connect(
    resource_arn="arn:aws:rds:us-east-1:490103061721:cluster:database-2",
    secret_arn="arn:aws:secretsmanager:us-east-1:490103061721:secret:pgdb-gIucWr",
    database="postgres",
)
cur = con.cursor()
cur.execute("select :foo as bar", {"foo": "foobar"})
result = cur.fetchall()

Or via SqlAlchemy:

engine = create_engine(
    'rdsdataapi://',
    connect_args=dict(
        resource_arn="arn:aws:rds:us-east-1:490103061721:cluster:database-2",
        secret_arn="arn:aws:secretsmanager:us-east-1:490103061721:secret:pgdb-gIucWr",
        database="postgres",
    )
)
with engine.connect() as con:
    result = con.execute("select :foo as bar", foo="foobar")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rdsdataapi-0.1.1.tar.gz (5.6 kB view hashes)

Uploaded Source

Built Distribution

rdsdataapi-0.1.1-py2.py3-none-any.whl (4.9 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page