工具:read_file
傳回 Dataform 工作區中檔案的內容,包括未提交的變更。
使用這項工具讀取工作區的 workflow_settings.yaml 檔案,其中包含管道的編譯設定,例如預設 BigQuery 資料集、預設位置和 Dataform Core 版本。這個檔案位於管道目錄的根目錄,不一定是工作區根目錄,因為存放區可以在子目錄中保存多個管道。使用 search_files 工具找出檔案。
如要直接從存放區讀取已提交的檔案,而不使用工作區,請改用 read_repository_file 工具。請注意,read_repository_file 僅適用於未連線至遠端 Git 主機的存放區。
workspace 參數值的格式必須為 projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}。
path 參數值是檔案相對於工作區根目錄的路徑。請勿使用目錄遍歷,例如 ..。您可以使用 query_directory_contents 或 search_files 工具取得有效路徑。
revision 參數值可選取檔案的特定 Git 修訂版本。如果省略,系統會傳回檔案目前未提交的狀態。
下列程式碼範例說明如何使用 curl 呼叫 read_file MCP 工具。
| Curl 要求 |
|---|
curl --location 'https://dataform.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "read_file", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
輸入內容的結構定義
ReadFile 要求訊息。
ReadFileRequest
| JSON 表示法 |
|---|
{ "workspace": string, "path": string, "revision": string } |
| 欄位 | |
|---|---|
workspace |
這是必要旗標,工作區名稱。 |
path |
這是必要旗標,檔案的完整路徑,包括檔案名稱,相對於工作區根目錄。 |
revision |
選用。要傳回的檔案 Git 修訂版本。如果留空,系統會傳回 |
輸出內容的結構定義
ReadFile 回應訊息。
ReadFileResponse
| JSON 表示法 |
|---|
{ "fileContents": string } |
| 欄位 | |
|---|---|
fileContents |
檔案內容。 Base64 編碼字串。 |
工具註解
工具註解會傳送至 MCP 用戶端,說明特定工具的基本風險。大多數用戶端會將這些提示視為不受信任,但可用於決定何時向使用者傳送確認提示。
除了標題字串外,以下布林提示的定義如下:
readOnlyHint:如果為 true,工具不會修改環境。預設值:false。destructiveHint:如果為 true,工具可以執行破壞性動作。如果為 false,工具只能執行加法動作。預設值:true。idempotentHint:如果為 true,以相同引數重複呼叫工具,對環境不會有額外影響。預設值:false。openWorldHint:設為 true 時,工具可以與外部實體的「開放世界」互動。如果為 false,工具只能與內部實體互動。舉例來說,網頁搜尋工具屬於開放世界,記憶體工具則不屬於開放世界。
破壞性提示:❌ | 等冪提示:✅ | 唯讀提示:✅ | 開放世界提示:❌