工具:create_folder
在指定的 Google Cloud 雲端專案和位置中,建立新的 Dataform 資料夾。
資料夾會將 Dataform 存放區整理成階層結構。建立資料夾不會將任何存放區移入其中。如要將存放區放在資料夾中,請在使用 create_repository 工具時設定 containing_folder 參數值。
請勿嘗試使用 update_repository 工具將現有存放區移至資料夾。存放區建立完成後,就無法使用 MCP 工具修改 containing_folder 欄位。
parent 參數值的格式必須為 projects/{project_id}/locations/{location}。
folder.display_name 參數值為必要項目,用於指定資料夾的易記名稱。
下列程式碼範例說明如何使用 curl 呼叫 create_folder 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": "create_folder", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
輸入內容的結構定義
CreateFolder 要求訊息。
CreateFolderRequest
| JSON 表示法 |
|---|
{
"parent": string,
"folder": {
object ( |
| 欄位 | |
|---|---|
parent |
這是必要旗標,要建立資料夾的位置。格式必須為 |
folder |
這是必要旗標,要建立的資料夾。 |
folderId |
已淘汰:這個欄位不會使用。資源名稱會自動產生。要用於資料夾的 ID,會成為資料夾資源名稱的最終元件。 |
資料夾
| JSON 表示法 |
|---|
{ "name": string, "displayName": string, "containingFolder": string, "teamFolderName": string, "createTime": string, "updateTime": string, // Union field |
| 欄位 | |
|---|---|
name |
ID。資料夾名稱。 |
displayName |
這是必要旗標,資料夾的使用者易記名稱。 |
containingFolder |
選用。包含的資料夾資源名稱。格式應為:projects/{project}/locations/{location}/folders/{folder}、projects/{project}/locations/{location}/teamFolders/{teamFolder},或如果這是根資料夾,則為「""」。這個欄位只能透過 MoveFolder 更新。 |
teamFolderName |
僅供輸出。這個資料夾所屬的 TeamFolder 資源名稱。格式應為:projects/{project}/locations/{location}/teamFolders/{teamFolder}。如未設定,資料夾就不會與 TeamFolder 建立關聯,而是 UserFolder。 |
createTime |
僅供輸出。資料夾的建立時間戳記。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
updateTime |
僅供輸出。資料夾上次更新的時間戳記。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
聯集欄位
|
|
internalMetadata |
僅供輸出。所有在內部用於提供資源的中繼資料資訊。例如時間戳記、旗標、狀態欄位等。這個欄位的格式為 JSON 字串。 |
聯集欄位
|
|
creatorIamPrincipal |
僅供輸出。資料夾建立者的 IAM 主體 ID。 |
時間戳記
| JSON 表示法 |
|---|
{ "seconds": string, "nanos": integer } |
| 欄位 | |
|---|---|
seconds |
代表自 Unix 紀元 1970-01-01T00:00:00Z 起算的世界標準時間秒數。必須介於 -62135596800 和 253402300799 之間 (含),對應至 0001-01-01T00:00:00Z 至 9999-12-31T23:59:59Z。 |
nanos |
以奈秒為單位的非負秒數小數。這個欄位是時間長度的奈秒部分,並非秒數的替代值。如果秒數值為負數,且包含小數,奈秒值仍須為非負數,且會往前計算時間。必須介於 0 至 999,999,999 之間 (含)。 |
輸出內容的結構定義
代表 Dataform 資料夾。這個資源可用於整理檔案和其他資料夾,並提供階層式存取權控管機制。
資料夾
| JSON 表示法 |
|---|
{ "name": string, "displayName": string, "containingFolder": string, "teamFolderName": string, "createTime": string, "updateTime": string, // Union field |
| 欄位 | |
|---|---|
name |
ID。資料夾名稱。 |
displayName |
這是必要旗標,資料夾的使用者易記名稱。 |
containingFolder |
選用。包含的資料夾資源名稱。格式應為:projects/{project}/locations/{location}/folders/{folder}、projects/{project}/locations/{location}/teamFolders/{teamFolder},或如果這是根資料夾,則為「""」。這個欄位只能透過 MoveFolder 更新。 |
teamFolderName |
僅供輸出。這個資料夾所屬的 TeamFolder 資源名稱。格式應為:projects/{project}/locations/{location}/teamFolders/{teamFolder}。如未設定,資料夾就不會與 TeamFolder 建立關聯,而是 UserFolder。 |
createTime |
僅供輸出。資料夾的建立時間戳記。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
updateTime |
僅供輸出。資料夾上次更新的時間戳記。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
聯集欄位
|
|
internalMetadata |
僅供輸出。所有在內部用於提供資源的中繼資料資訊。例如時間戳記、旗標、狀態欄位等。這個欄位的格式為 JSON 字串。 |
聯集欄位
|
|
creatorIamPrincipal |
僅供輸出。資料夾建立者的 IAM 主體 ID。 |
時間戳記
| JSON 表示法 |
|---|
{ "seconds": string, "nanos": integer } |
| 欄位 | |
|---|---|
seconds |
代表自 Unix 紀元 1970-01-01T00:00:00Z 起算的世界標準時間秒數。必須介於 -62135596800 和 253402300799 之間 (含),對應至 0001-01-01T00:00:00Z 至 9999-12-31T23:59:59Z。 |
nanos |
以奈秒為單位的非負秒數小數。這個欄位是時間長度的奈秒部分,並非秒數的替代值。如果秒數值為負數,且包含小數,奈秒值仍須為非負數,且會往前計算時間。必須介於 0 至 999,999,999 之間 (含)。 |
工具註解
工具註解會傳送至 MCP 用戶端,說明特定工具的基本風險。大多數用戶端會將這些提示視為不受信任,但可用於決定何時向使用者傳送確認提示。
除了標題字串外,以下布林提示的定義如下:
readOnlyHint:如果為 true,工具不會修改環境。預設值:false。destructiveHint:如果為 true,工具可以執行破壞性動作。如果為 false,工具只能執行加法動作。預設值:true。idempotentHint:如果為 true,以相同引數重複呼叫工具,對環境不會有額外影響。預設值:false。openWorldHint:設為 true 時,工具可以與外部實體的「開放世界」互動。如果為 false,工具只能與內部實體互動。舉例來說,網頁搜尋工具屬於開放世界,記憶體工具則不屬於開放世界。
破壞性提示:❌ | 等冪提示:❌ | 唯讀提示:❌ | 開放世界提示:❌