繁体   English   中英

使用Python通过Cloudfunctions将Dialogflow与Google BigQuery连接

[英]Connect Dialogflow with Google BigQuery via Cloudfunctions with Python

我是Python和云函数的新手,但我看到可以通过Cloudfunctions连接Dialogflow和GoogleBigQuery,但我不知道该如何做,有人可以向我解释一下该如何做,或者我是否尝试这样做至少接近?

import flask
from flask import Flask
from flask import request
from flask import make_response

app = Flask(__name__)
@app.route('/prueba_1', methods=['POST'])
def prueba_1():
    import json
    import pandas as pd
    ss = pd.read_gbq("SELECT something FROM bigquery_table LIMIT 1","arbor-209819")
    ll = {
        "speech" : ss.to_json(),
        "displayText": ss.to_json(),
        "source": "apiai-weather-webhook-sample"
    }
    res = json.dumps(ll, indent=4)
    r = make_response(res)
    r.headers['Content-Type'] = 'application/json'
    return r

if __name__ == '__main__':
    app.run(debug=True)

非常感谢。

您很亲密,您的职能需要接受请求。 同样,用于云功能的python消除了代码的很多开销(尽管您仍然需要它来进行本地测试)。 您可以按照快速入门入门。

这是一个如何写的例子:

from flask import jsonify
import pandas as pd

def prueba_1(request):

    # Your code

    ss = pd.read_gbq('SELECT * FROM my_dataset.my_table')

    # More code

    return jsonify(my_dictionary)

jsonify接受一个dict对象并返回一个application / json响应。 请记住在您的需求中添加pandas和pandas-gbq。

最后,如果您使用云功能为Dialogflow设置自定义 Webhook,请记住检查请求响应格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM