Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
4
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

Organization

Google Cloud FunctionsのPython(Beta)でHttpトリガーのときJSONを返す

概要

関数作成のサンプルを見る限り、Flaskが利用できるみたいだったので、試してみました。

手順

> cd 任意のディレクトリ
> touch main.py
> vi main.py
main.py
from flask import jsonify, make_response

def flask_json_response(request):
    return make_response(jsonify({'hoge': 'fuga'}))

で、デプロイします。

> gcloud beta functions deploy flask_json_response \
    --trigger-http \
    --runtime=python37

ポイントとしてはFlaskをpip installしてなくてもCloud Functions上では利用できる状態になっているってことでしょうか?
けど、実際にはローカル開発時にpip installしそう。どうでしょう?

で、呼び出します。

> curl --include https://us-central1-プロジェクトID.cloudfunctions.net/flask_json_response

HTTP/1.1 200 OK
Content-Type: application/json
Function-Execution-Id: a55fsn8a2dc7
X-Cloud-Trace-Context: 9b776cf314416e08c181efaab7524a1e
Date: Thu, 09 Aug 2018 06:33:42 GMT
Server: Google Frontend
Content-Length: 21
Alt-Svc: quic=":443"; ma=2592000; v="44,43,39,35"

{
  "hoge": "fuga"
}

はい。

Content-Type も自動で、application/json になってくれてますね。

わかれば簡単なのですが、なにせ公式ドキュメントがまだないので^^;;;

参考

Flask Application Object
http://flask.pocoo.org/docs/0.12/api/#flask.Flask.session_interface

もっとも簡単なFlaskの作り方
https://qiita.com/5zm/items/f283c201344ae347ea2d

Cloud FunctionsでPython利用記事まとめ
https://qiita.com/kai_kou/items/2f65db5305ba280ad81e

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
4
Help us understand the problem. What are the problem?