# #google-bigquery #google-workflows
Вопрос:
Я следил за этой очень полезной статьей Мартона https://martonkodok.medium.com/automate-the-execution-of-bigquery-queries-with-cloud-workflows-9fffe0557dbb для автоматизации выполнения больших запросов с помощью облачного рабочего процесса, а также другой статьи https://medium.com/codeshake/build-a-serverless-bigquery-ingestion-pipeline-using-cloud-workflows-f893f6b701ee.
Я смог создать рабочий процесс с помощью простого sql-запроса. Однако при выполнении процедуры возникает ошибка, как показано ниже.
'query' is string; want dict
in step "InvokeProdcedure", routine "main", line: 9
{
"message": "'query' is string; want dict",
"tags": [
"TypeError"
]
}
Ниже приведен очень простой код, в котором я вызываю процедуру.
# This is a sample workflow to test or replace with your source code.
#
# This workflow returns a list of Wikipedia articles related to a search term.
# The search term is retrieved from a Cloud Function that returns the current day of the week
# (in GMT), unless a search term is given as input (e.g. {"searchTerm": "Monday"}).
main:
steps:
- InvokeProdcedure:
call: googleapis.bigquery.v2.jobs.query
args:
projectId: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
query: >
DECLARE source_dataset_name STRING DEFAULT NULL;
DECLARE source_table_name STRING DEFAULT NULL;
DECLARE destination_dataset_name STRING DEFAULT NULL;
DECLARE destination_table_name STRING DEFAULT NULL;
DECLARE recordstamp_column_name STRING DEFAULT NULL;
DECLARE flag_column_name STRING DEFAULT NULL;
DECLARE is_deleted_column_name STRING DEFAULT NULL;
DECLARE pk_colmun_name_list ARRAY<STRING> DEFAULT NULL;
CALL `project.dataset.procedure_name`(*Values passed for all variables above)
result: queryResult
Что это я здесь делаю не так? Разве это не правильный способ вызова процедуры в облачном рабочем процессе?