Python API Gateway からCSVダウンロードする

Pocket

API Gateway から Python ( Lambda ) で作成した カンマ文字列を CSV形式でダウンロードできるようにする方法です

Lambda 側で headersを指定して返せば どんなフォーマットでも返すことは可能です

CSVファイルを返す場合 ヘッダーは Content-TypeContent-disposition を使います

Python ( Lambda )コード例 ↓

def lambda_handler(event, context):
    body_str = """column1,column2,column3
"値1","値2","値3"
"""
    return {
        'statusCode': 200,
        "isBase64Encoded": True,
        "headers":{
            "Content-Type": "application/vnd.ms-excel",
            "Content-disposition": "attachment; filename=hoge.csv" # CSVファイル名を指定
        },
        "body": f"\ufeff{body_str}" # BOMを設定
    }

body_strという変数に、 カンマ区切り文字列を代入し

その値をCSVファイルとして ダウンロードできるように返しています

文字列の先頭に \ufeff を入れるのは、 BOMです

API Gateway のURLにアクセスすると、下のようにCSVファイル形式でダウンロードできました

body_str に代入したカンマ区切りの文字列

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


2022 MJELD TECHNOLOGIES. ALL RIGHTS RESERVED