API Gateway から Python ( Lambda ) で作成した カンマ文字列を CSV形式でダウンロードできるようにする方法です
Lambda 側で headersを指定して返せば どんなフォーマットでも返すことは可能です
CSVファイルを返す場合 ヘッダーは Content-Type と Content-disposition を使います
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ファイル形式でダウンロードできました