如何 return Python 中 BigQuery 的布尔值
How to return boolean value from BigQuery in Python
我是 BigQuery 的新手。我想 return 来自 BigQuery 的布尔值。在这种情况下,我想输出“True”。为了做到这一点,我尝试了下面这篇文章所说的 items() 方法,但我不知道如何在我的代码中使用这个方法。当谈到从这个模式中获取价值时,有人能给我建议吗??或者我应该如何搜索它??
https://googleapis.dev/python/bigquery/latest/generated/google.cloud.bigquery.table.Row.html
【本应用功能】
获取请求参数并将它们传递给 BigQuery 和 return True 或 False 基于参数传递给 Client
from flask import Flask, request, jsonify
from google.cloud import bigquery
app = Flask(__name__)
@app.route('/')
def get_request():
request_luid = request.args.get('luid') or ''
client = bigquery.Client()
query = """SELECT EXISTS(
SELECT 1
FROM `test-266778.conversion_log.conversion_log_2020*` as p
WHERE p.luid = '{}'
AND p.orderid != '' limit 1000)""".format(request_luid)
job_config = bigquery.QueryJobConfig(
query_parameters=[
bigquery.ScalarQueryParameter("request_luid", "STRING", request_luid)
]
)
query_job = client.query(query)
query_res = query_job.result()
for row in query_res:
return str(row)
if __name__ == "__main__":
app.run()
【The result of the code above from Python file】
Row((True,), {'f0_': 0})
【On GCP console】
Row | f0_
1 | True ← This value should be output
您需要更改 return 语句:
for row in query_res:
return row[0]
我是 BigQuery 的新手。我想 return 来自 BigQuery 的布尔值。在这种情况下,我想输出“True”。为了做到这一点,我尝试了下面这篇文章所说的 items() 方法,但我不知道如何在我的代码中使用这个方法。当谈到从这个模式中获取价值时,有人能给我建议吗??或者我应该如何搜索它??
https://googleapis.dev/python/bigquery/latest/generated/google.cloud.bigquery.table.Row.html
【本应用功能】 获取请求参数并将它们传递给 BigQuery 和 return True 或 False 基于参数传递给 Client
from flask import Flask, request, jsonify
from google.cloud import bigquery
app = Flask(__name__)
@app.route('/')
def get_request():
request_luid = request.args.get('luid') or ''
client = bigquery.Client()
query = """SELECT EXISTS(
SELECT 1
FROM `test-266778.conversion_log.conversion_log_2020*` as p
WHERE p.luid = '{}'
AND p.orderid != '' limit 1000)""".format(request_luid)
job_config = bigquery.QueryJobConfig(
query_parameters=[
bigquery.ScalarQueryParameter("request_luid", "STRING", request_luid)
]
)
query_job = client.query(query)
query_res = query_job.result()
for row in query_res:
return str(row)
if __name__ == "__main__":
app.run()
【The result of the code above from Python file】
Row((True,), {'f0_': 0})
【On GCP console】
Row | f0_
1 | True ← This value should be output
您需要更改 return 语句:
for row in query_res:
return row[0]