■ はじめに
Aurora に、Pythonからアクセスするのに、 Data API ってのが使えるらしく、それがあると Auroraが、MySQL互換だろうと、PostgreSQL互換だろうと アクセスできるらしいので、調べてみた
公式サイト
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/data-api.html
Pythonサンプル
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/data-api.html#data-api.calling.python
■ 前提条件
【1】IAMポリシーの設定 【2】Aurora の Data API の有効化 【3】Auroraバージョン ※ 詳細は、以下の「公式サイト」を参照
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/data-api.html
【1】IAMポリシーの設定
ユーザーは、 Data API へのアクセスが許可されている必要がある
【2】Aurora の Data API の有効化
Aurora サーバーレス DB クラスター用に有効にする必要がある
Auroraバージョン
* MySQL バージョン 5.6 と互換性のある Aurora * PostgreSQL バージョン 10.7 と互換性がある Aurora
■ 必要な情報(INPUT)
【1】resourceArn => Aurora サーバーレス DB クラスターの Amazon リソースネーム (ARN) 【2】secretArn => DB クラスターへのアクセスを有効にするシークレットの ARN の名前
■ サンプル
import boto3 rds_client = boto3.client('rds-data') cluster_arn = 'arn:aws:rds:us-east-1:123456789012:cluster:mydbcluster' secret_arn = 'arn:aws:secretsmanager:us-east-1:123456789012:secret:mysecret' sql = 'select * from person' response = rds_client.execute_statement( resourceArn = cluster_arn, secretArn = secret_arn, database = 'sampledb', sql = sql) print(response)