建設部網(wǎng)站如何登錄監(jiān)理工程師最新熱搜新聞事件
- 原文地址
- 代碼庫
Bytebase 是一款數(shù)據(jù)庫 DevOps 和 CI/CD 工具,專為開發(fā)者、DBA 和平臺工程團隊設計。雖然它提供了直觀的 GUI 來管理數(shù)據(jù)庫 schema 變更和訪問控制,但有些團隊可能希望使用 Bytebase API 將 Bytebase 集成到現(xiàn)有的 DevOps 平臺中。
在之前的教程中,我們演示了如何使用 Bytebase API:
- 創(chuàng)建 Schema 變更
- 檢查用戶和數(shù)據(jù)庫權限
本教程將重點介紹如何在 Bytebase 中獲取和過濾審計日志,如果你沒有看過前面的教程也沒關系。
(一)準備工作
- 安裝好 Docker
- Node.js >= v18
(二)啟動 Bytebase
確保 Docker 進程正在運行。通過以下命令啟動 Bytebase:
(2.23.0 可替換成當前版本)
docker run --rm --init \--name bytebase \--publish 8080:8080 --pull always \--volume ~/.bytebase/data:/var/opt/bytebase \bytebase/bytebase:2.23.0
Bytebase 正通過 Docker 運行,可以在localhost:8080
訪問。注冊第一個管理員賬戶,它將被授予工作空間管理員
權限。
(三)創(chuàng)建服務賬戶
-
以管理員用戶身份登錄,進入安全與策略 > 用戶與組。單擊
+
添加用戶,輸入api-example
,選擇本教程所需的DBA
角色,然后單擊確認。 -
找到新創(chuàng)建的服務賬戶,點擊復制服務密鑰。我們將使用此標記來驗證 API 調用。
(四)運行演示
-
進入 Bytebase API Example repo 并克隆它。
-
將
env-template.local
復制到.env.local
。更新變量。NEXT_PUBLIC_BB_URL
:http://localhost:8080
NEXT_PUBLIC_BB_SERVICE_ACCOUNT
:api-example
NEXT_PUBLIC_BB_SERVICE_KEY
:上一步復制的服務密鑰
-
進入子文件夾
audit-log
,運行以下命令啟動 demo 程序:
pnpm i && pnpm dev
-
在瀏覽器中打開 demo 程序,你將看到以下頁面:
-
為增強 demo 的真實性,訪問 Bytebase:
- 進入 SQL 編輯器查詢數(shù)據(jù)庫
- 進入特定項目,對數(shù)據(jù)庫進行一些更改,例如創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表格、添加一些數(shù)據(jù)。
(五)獲取和過濾審計日志
讓我們深入研究一下代碼:
-
在
page.tsx
中,我們選擇任何項目前,都通過調用/v1/projects API
獲取所有項目。
Bytebase 有兩級審計日志: 工作空間和項目。用戶第一次訪問 demo 時,我們通過 /v1/auditLogs:search API 獲取工作空間級審計日志。默認時間范圍為 7 天前至今。你也可以通過過濾器在請求正文中傳遞 startTime 和 endTime 來調整時間范圍。const filter = `create_time >= '${startDate}' && create_time <= '${endDate}'`;
-
在 db-fetch-user-permission.tsx 中,如果用戶選擇了特定項目,我們將通過 /v1/projects/PROJECT_ID/auditLogs:search API 獲取項目級審計日志。時間范圍過濾器與工作空間級審計日志相同。
(六)總結
恭喜你使用 Bytebase API 成功創(chuàng)建了數(shù)據(jù)庫審計查看器。同理,你也可以通過調用/v1/auditLogs:export API 導出日志。
💡 更多資訊,請關注 Bytebase 公號:Bytebase