Подписанные URL-адреса и поток данных здесь могут не понадобиться. Подписанные URL-адреса обычно используются, когда вы не хотите, чтобы пользователи имели учетную запись Google для доступа к облачному хранилищу, но также учитывают необходимость при возобновляемых загрузках . Если вы знаете, что при отправке данных у вашего клиента будет учетная запись Google, ее можно пропустить (особенно если тайм-ауты для защиты закрытых ключей не нужны, поскольку код выполняется в серверной части, а не в мобильном приложении клиента, например). Вы можете просто создать базовое c веб-приложение с App Engine, которое будет использоваться клиентом для выполнения ежедневной операции pu sh, которая затем будет загружать его в хранилище Cloud Storage, выполняя возобновляемую загрузку, App Engine также должен убедиться, что файлы находятся в правильном формате и соответствуют определенным ограничениям c, которые вы определите перед его загрузкой.
Что касается потока данных, так как его лучше всего использовать для потоковой передачи, а в вашем случае это Пассивный пакетный прием, оплата услуги, которая постоянно работает, когда необходимо, чтобы преобразование происходило только один раз в день, может оказаться не лучшим подходом. Более эффективно было бы использовать Облачные функции для предварительной обработки и применения преобразований, которые были бы инициированы на уведомление об изменении объекта в корзине Cloud Storage. Затем функция отправит sh данные в BigQuery с использованием своего API.
Полный поток будет таким: Веб-приложение App Engine очищает дамп -> API хранилища -> Уведомление об изменении объекта корзины -> Функция облачного триггера (CF) -> CF загружает объект -> CF выполняет преобразование -> CF сохраняет строки в BigQuery
GAE -> GCS -> CF -> BQ