サーバレス練習帳

着眼大局着手小局

RDS勉強

RDSの料金の日本円
aws-rough.cc

RDSに接続するLambda
qiita.com

Lambda Layer
https://api.klayers.cloud/api/v2/p3.8/layers/latest/ap-northeast-1/html

SQLAlchemyから接続する場合
qiita.com

def lambda_handler(event, context):
    function2()
    return True

def function2():
    from sqlalchemy import create_engine
    # engine = create_engine("{dialect}+{driver}://{username}:{password}@{host}:{port}/{database}?charset={charset_type}")
    engine = create_engine("postgresql://postgres:password@postgresql-1.ci3a10XXXXXx.ap-northeast-1.rds.amazonaws.com:5432/postgres")
    return True
    
    
def function1():
    import psycopg2
    import os
    
    # 環境変数から接続情報を取得
    # db_endpoint = os.environ['DB_ENDPOINT']
    db_endpoint = 'postgresql-1.ci3a10XXXXXx.ap-northeast-1.rds.amazonaws.com'
    # db_username = os.environ['DB_USERNAME']
    db_username = 'postgres'
    # db_password = os.environ['DB_PASSWORD']
    db_password = 'password'
    # db_name = os.environ['DB_NAME']
    db_name = 'postgres'
    
    # データベースに接続
    conn = psycopg2.connect(
        dbname=db_name,
        user=db_username,
        password=db_password,
        host=db_endpoint
    )

    # カーソルの作成
    cur = conn.cursor()

    # SQL の実行
    cur.execute('SELECT *  FROM テーブル名;')
    records = cur.fetchall()
    print(records)
    # カーソルと接続のクローズ
    cur.close()
    conn.close()

    # 結果の返却
    return {
        'statusCode': 200,
        'body': records
    }

jQueryのDataTablesが凄いわ

qiita.com

qiita.com

qiita.com

テーブルデータは2次元配列だけでなくjson配列もOKみたい
bonoponz.hatenablog.com

ソートの保存

https://qiita.com/nissuk/items/7ac59af5de427c0585c5#:~:text=一部の列を非表示にする(columnDefs%20visible),-「(内部IDなど&text=targets%20で列を指定,を追加するだけです%E3%80%82


列非表示のサンプル
だけでなく、他、色々サンプルある模様。

https://datatables.net/extensions/buttons/examples/html5/columns.html

自力で列指定の絞り込み
https://blog.websandbag.com/entry/2020/01/15/203242

このカラムフィルターの機能は面白いかも

https://datatables.net/extensions/fixedheader/examples/options/columnFiltering.html

絞り込みに挑戦している人
https://teratail.com/questions/102026

http://kachibito.net/web-design/multifilter.html?amp=1