簡體   English   中英

在 BigQuery 中創建表時觸發 AWS lambda

[英]Trigger an AWS lambda when a table is created in BigQuery

我們的 Google Analytics 數據事件被導出到 BigQuery 表。 我有一些報告需要在事件數據到達時運行,這些報告被設置為帶有 python 代碼的 AWS lambda(出於各種原因,我無法立即將它們移動為 Google Cloud Functions 等)。

是否可以讓表的創建觸發 lambda? 目前,我有一個 lambda 定期檢查表是否已創建,這似乎不是最理想的。 Eventarc 看起來可能是在 BigQuery 端監視創建事件的方式,但您如何與 AWS 交互似乎並不明顯。

任何天才的想法? 我已經通過 StackOverflow 反復挖掘,但看不到這個問題的匹配項

Eventarc 並不神奇,它只是您可以執行和自定義的不同事物的包裝器(使用自定義目標而不是 Cloud Run)。

通常,Eventarc 會:

  • 在特定日志過濾器上創建 Cloud Logging 接收器(過濾您想要獲取自定義事件的內容)
  • 將過濾后的日志條目下沉到 PubSub 主題中
  • 創建調用 Cloud Run HTTP 端點的 PubSub 推送訂閱。

您可以逐個創建所有這些步驟。 在最新的一個中,調用您的 AWS Lambda 而不是 Cloud Run。


但困難不在這里。 困難來自表格創建可能性的多樣性:

  • 通過API調用(建表API)
  • 通過加載作業(將文件加載到表中自動創建但不調用表創建 API)
  • 直接在 SQL 中使用 CREATE TABLE 語句(但您也可以在腳本中使用此語句,您可以使用動態 SQL,...)

您可能還想捕獲其他創作(視圖、物化視圖、過程、函數......)


最后,您當前的方法(定期調用架構元數據信息並獲取數據集中最近添加的內容)可能是最“輕松”有效的方法!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM