私のクラウド機能には、実行中のクエリがあり、ジョブの結果を新しい 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"