У меня есть облачная функция, которая использует API потока данных для создания нового задания из шаблона, созданного с использованием DataPrep.Рецепт в основном очищает некоторые объекты JSON, превращает их в формат CSV и добавляет столбец отметки времени для извлечения всего из базы данных BigQuery.Основная идея - сделать снимок определенной информации о нашей платформе.
Мне удалось запустить задание из API потока данных, и данные правильно вставлены в таблицу больших запросов, однако в поле метки временизначение метки времени всегда одинаково и соответствует времени выполнения задания, из которого я беру шаблон (шаблон DataPrep).Когда я запускаю задание из интерфейса dataprep, эта временная метка вставляется правильно, но она не изменяется при выполнении задания с тем же шаблоном из облачной функции.
Фрагмент кода, который вызывает API-интерфейс потока данных:
dataflow.projects.templates.launch({
projectId: projectId,
location: location,
gcsPath: jobTemplateUrl,
resource: {
parameters: {
inputLocations : `{"location1" :"gs://${file.bucket}/${file.name}"}`,
outputLocations: `{"location1" : "${location2}"}`,
customGcsTempLocation: `gs://${destination.bucket}/${destination.tempFolder}`
},
environment: {
tempLocation: `gs://${destination.bucket}/${destination.tempFolder}`,
zone: "us-central1-f"
},
jobName: 'user-global-stats-flow',
}
}
Это снимок консоли выполнения потока данных, поскольку видно, что последние задания выполнялись из облачной функции, а нижнее - из интерфейса Dataprep:
Снимок консоли потока данных
Это часть рецепта, отвечающая за создание метки времени:
Пример рецепта Dataprep
Наконец, это то, что вставлено в таблицу BigQuery, где первая вставка с той же отметкой времени (строка 4) соответствует заданию, выполненному из Dataprep, а остальные - выполнению из облачной функции с API Dataflow:
Большой запрос вставки
Итак, вопрос в том, есть ли способ, которым я могу сделать Тимestamp должен быть решен во время выполнения задания для вставки, потому что теперь оно выглядит так, как будто оно исправлено в рецепте шаблона.
Заранее спасибо за помощь.