Google Cloud Functions/PythonでCSV出力する
- POSTS
2010年くらいに作ったGoogle App Engine/Python2.7のアプリ(当初は2.5)で結構強引にCSV生成していたのですが、 改修するタイミングでCloud Functionを使えないかと試してみました。
DataStoreからデータを取得します。
def download(request): import csv from io import StringIO from google.cloud import datastore from flask import make_response # request category_id = request.values.get('category_id') filename = 'data.csv' if category_id: filename = 'data_{}.csv'.format(category_id) # DataStoreからデータ取得 datastore_client = datastore.Client() kind = 'Kind' # DataStoreのkind名を指定 query = datastore_client.query(kind=kind) if category_id: # フィルタ追加 query.add_filter('category_id', '=', category_id) header = ['id', 'content'] # タイトル行を指定 rows = [header] rows += [[entity['id'], entity['content']] for entity in query.