Skip to content

epsylabs/psycopg2-iam

Repository files navigation

psycopg2-iam

Custom Connection Factory class (RDS, Redshift) with build-in IAM authentication and SSL bundle downloader support.

Installation

Install package

poetry add psycopg2-iam

Usage

Create connection directly from secret

from psycopg2_iam import connect

conn = connect(secret="secretId")

Using connect function

from psycopg2_iam import connect
connect(dsn="...")

Pass connection factory class to psycopg2.connect()

import psycopg2 
from psycopg2_iam import IAMConnection

psycopg2.connect(dsn="...", connection_factory=IAMConnection)

Create DSN from AWS generated RDS secret

import boto3
import json
import psycopg2 
from psycopg2_iam import IAMConnection, dsn_from_rds_secret

secrets = boto3.client("secretsmanager")
db_secret = json.loads(secrets.get_secret_value(SecretId="/dynks/rds/readonly").get("SecretString"))

psycopg2.connect(dsn=dsn_from_rds_secret(db_secret), connection_factory=IAMConnection)

About

Small wrapper around psycopg2 providing easy IAM authentication method

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages