我正在使用 Google Cloud Functions 连接到 Google Bigquery 数据库并更新一些行。云函数是使用 Python 3 编写的。
每当我通过该函数运行更新 dml 时,我都需要帮助弄清楚如何获取结果消息或更新/更改的行数。有任何想法吗?
from google.cloud import bigquery
def my_update_function(context,data):
BQ = bigquery.Client()
query_job = BQ.query("Update table set etc...")
rows = query_job.result()
return (rows)
我知道行总是作为 _emptyrowiterator 对象返回。我可以通过什么方式获得结果或结果消息?文档说我必须从 bigquery 作业方法中获取它。但是好像想不通。
最佳答案
我认为您正在搜索 QueryJob.num_dml_affected_rows
.它包含受更新或任何其他 DML 语句影响的行数。如果你只是将它粘贴到你的代码而不是 rows
在 return
声明您将获得数字为 int 或者您可以创建一些按摩,例如:
return("Number of updated rows: " + str(job_query.num_dml_affected_rows))
我希望它会有所帮助:)
关于python-3.x - BigQuery 更新如何获取更新的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58970341/