我按照link設置了BigQuery數據訪問日誌的日誌導出。如何在BigQuery數據訪問日誌中記錄自定義信息?
在我的用例中,客戶端沒有直接訪問BigQuery的權限。他們調用REST API從BigQuery中獲取數據並將其提供給客戶端。我需要記錄一些自定義信息,如請求數據的用戶ID等,以及BigQuery數據訪問日誌。 我嘗試使用userAgent
字段,通過使用用戶標識設置應用程序名稱,但它沒有顯示在數據訪問日誌中。
有沒有辦法在數據訪問日誌中記錄自定義信息?
我按照link設置了BigQuery數據訪問日誌的日誌導出。如何在BigQuery數據訪問日誌中記錄自定義信息?
在我的用例中,客戶端沒有直接訪問BigQuery的權限。他們調用REST API從BigQuery中獲取數據並將其提供給客戶端。我需要記錄一些自定義信息,如請求數據的用戶ID等,以及BigQuery數據訪問日誌。 我嘗試使用userAgent
字段,通過使用用戶標識設置應用程序名稱,但它沒有顯示在數據訪問日誌中。
有沒有辦法在數據訪問日誌中記錄自定義信息?
您可以添加自定義數據作爲對查詢的評論嗎?
# hello, I'm a comment and I have meta-data
SELECT * FROM `wherever`
只是要小心的第一行,你可以用它來#legacySQL和#standardSQL
#standardSQL
# for metadata, respect the first line of the query to choose SQL variant
# hello, I'm a comment and I have meta-data
SELECT * FROM `wherever`
之間要求的BigQuery選擇下面是一些我看到的選項。
1 - 使用jobReference.jobId
作業的財產
您可以設置它,這樣它將包含的任何信息你可在工作API調用的時間
jobReference.jobId string [Required] The ID of the job. The ID must contain
only letters (a-z, A-Z), numbers (0-9),
underscores (_), or dashes (-).
The maximum length is 1,024 characters.
我覺得1024個字符已足夠編碼您需要的任何元數據
2 - 另一種選擇是使用configuration.labels
作業屬性。
configuration.labels object [Experimental] The labels associated with this job.
You can use these to organize and group your jobs.
Label keys and values can be no longer than 63
characters, can only contain lowercase letters, numeric
characters, underscores and dashes. International
characters are allowed. Label values are optional.
Label keys must start with a letter and each label in
the list must have a different key.
你可以閱讀更多關於labeling
在Labeling Datasets
。即使它描述了數據集的標籤 - 這是使用完全相同的概念與喬布斯
最後,我會建議避免調整用戶的查詢 - 尤其是對於插入一些元數據
upvoted,謝謝! –
謝謝@米哈伊爾。如果我使用'jobReference.jobId'字段,那麼我必須確保在每次查詢哪個是最好避免的附加複雜度時提供唯一的ID。並且'configuration.labels'似乎沒有記錄在BigQuery數據訪問日誌中。 –
@SudarshanMurthy - 是的,你是正確的ID在結算項目中必須是唯一的。從我的練習 - 這絕不是問題:o) –
謝謝@Felipe的目的。 –