Skip to main content

A package for logging data to Google BigQuery

Project description

Cameo BigQuery Logger

這個套件提供了一個用於將使用者操作記錄插入到Google BigQuery的工具。它包括兩個主要的類:UserDataBigQueryLogger

安裝

首先,確保你已經安裝了所需的Python包。你可以使用以下命令來安裝:

pip install -r requirements.txt

環境變數

在使用這個套件之前,你需要設置一些環境變數。你可以在項目根目錄下創建一個.env文件,並添加以下內容:

GOOGLE_APPLICATION_CREDENTIALS=path/to/your/service/account/key.json
KEY=your_fernet_key
DATASET_ID=your_dataset_id
TABLE_NAME=your_table_name
  • GOOGLE_APPLICATION_CREDENTIALS:Google Cloud服務帳戶的憑證文件路徑。
  • KEY:用於加密的Fernet密鑰。
  • DATASET_ID:BigQuery數據集ID。
  • TABLE_NAME:BigQuery表名。

使用方法

1. 初始化BigQueryLogger

from cameo_big_query_log.cameo_big_query_log import BigQueryLogger

logger = BigQueryLogger()

2. 插入數據到BigQuery表

首先,創建一個包含使用者數據的字典(必填欄位已標註):

user_data = {
    "user_name": "John Doe",  # 必填
    "user_department": "Engineering",  # 必填,default='unknown'
    "domain_name": "example.com",  # 必填,default='unknown'
    "session_id": "123456",  # 必填
    "action_type": "login",  # 必填,選項有login、logout、
    "action_details": '{"detail": "value"}',  # 必填
    "resource_id": None,  # 必填,資源的唯一標識(如文件名稱)
    "developer": "cameo"  # 必填,開發者姓名
}

然後,使用insert_data_to_table方法將數據插入到BigQuery表中:

logger.insert_data_to_table(user_data)

類和方法

UserData

UserData類用於驗證和存儲使用者數據。它使用Pydantic進行數據驗證。

BigQueryLogger

BigQueryLogger類用於與Google BigQuery進行交互。它包括以下方法:

  • __init__:初始化BigQuery客戶端和加密套件。
  • generate_key:生成一個新的Fernet密鑰。
  • get_local_ip:獲取本地IP地址。
  • insert_data_to_table:將使用者數據插入到BigQuery表中。
  • create_table:創建一個新的BigQuery表。

測試

你可以使用pytest來運行測試。確保你已經安裝了pytest

pip install pytest

然後運行測試:

pytest

這將運行位於tests/test_cameo_big_query_log.py中的測試腳本。

貢獻

歡迎提交問題和請求功能。如果你想貢獻代碼,請先fork這個倉庫,創建一個新的分支,提交你的更改,然後創建一個pull request。

授權

這個項目使用MIT許可證。詳情請參閱LICENSE文件。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cameo_big_query_log-0.1.1.tar.gz (4.8 kB view details)

Uploaded Source

File details

Details for the file cameo_big_query_log-0.1.1.tar.gz.

File metadata

  • Download URL: cameo_big_query_log-0.1.1.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for cameo_big_query_log-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e9c7169336fd3bb04f434579ecb58ce734894991dee7461577e149ad48343be0
MD5 e7f99c2cc67b360ad2a22a1a7f305895
BLAKE2b-256 2af750535ffc324d4cf74add8c1a4d849f8fb148cc68835684921d1c82716ff4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page