如何在google cloud scheduler(Python)中定义的google cloud函数中使用body参数?
在我的云函数中,我有一个正在执行的查询,并将作业结果写入新的bigquery表。我希望我的查询应该是动态的,基于使用外部动态参数的一些单位值,我正在从google cloud Scheduler触发这个云函数,它在Body部分使用post方法和http调用包含一些参数值,有人能建议如何将这个参数值从cloud scheduler的body部分使用到my cloud函数中,使我的查询成为动态的吗 在云调度器的主体部分传递某些参数,但不知道如何在云函数中使用它们 云调度器主体:如何在google cloud scheduler(Python)中定义的google cloud函数中使用body参数?,python,google-bigquery,google-cloud-functions,google-cloud-scheduler,Python,Google Bigquery,Google Cloud Functions,Google Cloud Scheduler,在我的云函数中,我有一个正在执行的查询,并将作业结果写入新的bigquery表。我希望我的查询应该是动态的,基于使用外部动态参数的一些单位值,我正在从google cloud Scheduler触发这个云函数,它在Body部分使用post方法和http调用包含一些参数值,有人能建议如何将这个参数值从cloud scheduler的body部分使用到my cloud函数中,使我的查询成为动态的吗 在云调度器的主体部分传递某些参数,但不知道如何在云函数中使用它们 云调度器主体: { 'unit':
{
'unit': 'myunitname'
'interval':'1'
}
云功能:
import flask
from google.cloud import bigquery
app = flask.Flask(__name__)
def main(request):
with app.app_context():
query = "SELECT unitId FROM `myproject.mydataset.mytable`
where unit ='{}' and interval='{}'".format(unit,interval)
client = bigquery.Client()
job_config = bigquery.QueryJobConfig()
dest_dataset = client.dataset('mydataset', 'myproject')
dest_table = dest_dataset.table('mytable')
job_config.destination = dest_table
job_config.create_disposition = 'CREATE_IF_NEEDED'
job_config.write_disposition = 'WRITE_APPEND'
job = client.query(query, job_config=job_config)
job.result()
return "Triggered"
最好的方法是使用pub/sub将所有内部内容保存到Google云: [] 云调度器向Pub/Sub发送一条消息,其中包含云功能所需的信息的有效负载对象。云函数应该从发布/子主题中触发,然后您可以访问正在引用的动态部分所需的message.attributes 云调度器-发布到->发布/订阅主题-订户推送->云功能
如果您想继续使用HTTP,可以按照它描述如何从函数中使用POST的地方进行操作。您正在使用“请求”模块提取在云计划程序作业中传递的主体属性。最好的方法是使用pub/sub将所有内部属性保留到Google Cloud: [] 云调度器向Pub/Sub发送一条消息,其中包含云功能所需的信息的有效负载对象。云函数应该从发布/子主题中触发,然后您可以访问正在引用的动态部分所需的message.attributes 云调度器-发布到->发布/订阅主题-订户推送->云功能 如果您想继续使用HTTP,可以按照它描述如何从函数中使用POST的地方进行操作。您正在使用requests模块提取在云调度器作业中传递的body属性