首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在google云功能中使用在google云调度器(Python)中定义的身体参数?

如何在google云功能中使用在google云调度器(Python)中定义的身体参数?
EN

Stack Overflow用户
提问于 2019-09-19 14:29:38
回答 1查看 1.5K关注 0票数 2

在我的云函数中,我有一个查询,我正在执行该查询,并将作业结果写入新的bigquery表。我希望我的查询应该是基于一些单位值的动态的(使用外部动态参数),我是从google云调度器(它包含身体部分的一些参数值(使用post方法和http调用)触发这个云功能),谁能建议如何将这个参数值从云调度器的Body部分使用到我的云函数中,使我的查询动态化?

在云调度器的主体部分传递某些参数,但不知道如何在云功能中使用这些参数。

云调度器的主体:

代码语言:javascript
复制
{
'unit': 'myunitname'
'interval':'1'
}

云功能:

代码语言:javascript
复制
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"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-19 15:03:43

最好的方法是使用pub/sub保持Google的所有内部:

[官方Google教程]

Cloud使用云功能所需信息的有效负载对象向Pub/Sub发送消息。云功能应该在Pub/Sub主题之外触发,然后您可以访问您所引用的动态部分所需的message.attributes

Cloud Scheduler --发布到-> Pub/Sub Topic --订户推送-> Cloud Function

如果您想继续使用HTTP,可以按照这里描述如何使用函数中的POST。您正在使用requests模块来提取在Cloud作业中传递的body属性。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58013336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档