1

私のクラウド機能には、実行中のクエリがあり、ジョブの結果を新しい bigquery テーブルに書き込みます。いくつかの単位値に基づいてクエリを動的にする必要があります (外部の動的パラメーターを使用)。Google クラウド スケジューラからこのクラウド関数をトリガーしています (Body セクションにいくつかのパラメーター値が含まれています (http 呼び出しでポスト メソッドを使用))。このパラメータ値をクラウド スケジューラの本体セクションからクラウド関数に使用して、クエリを動的にする方法を提案する

クラウド スケジューラの Body セクションで特定のパラメーターを渡しますが、それらをクラウド関数で使用する方法がわかりません。

クラウド スケジューラの本体:

{
'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"
4

1 に答える 1