環境提供隔離的執行環境,可安全地執行代理程式碼、工具和服務。
CreateEnvironment
建立環境。
要求主體
要求主體會包含結構如下的資料:
network EnvironmentNetworkEgressAllowlist 或列舉 (字串) (選用)
環境的網路設定。
可能的類型
object
沙箱的傳出網路設定。指定後,沙箱可連線的外部網域就會受到限制。完全省略,允許所有傳出流量,且不插入標頭。
allowlist array (AllowlistEntry) (選填)
允許的輸出網域清單。系統只允許對列出的網域提出要求。使用 [{'domain': '*'}] 允許所有網域,同時在特定網域上插入標頭。
欄位
允許向其發出外送要求的網域。支援萬用字元 (例如「*.googleapis.com」)。使用「*」允許所有網域。
要插入所有與這個網域相符的出站要求的標頭。可接受單一字典或字典清單。輸出 Proxy 會自動插入這些項目。
字串
關閉所有網路。
可能的值
-
disabled關閉所有網路。
sources array (Source) (optional)
要掛接至環境的來源。
欄位
如果 `type` 為 `INLINE`,則為內嵌內容。
內嵌內容的選用編碼 (例如 `base64`)。
環境來源。 如果是 Cloud Storage,則為 Cloud Storage 路徑。如果是 GitHub,這是指 GitHub 路徑。
來源在環境中的顯示位置。
未提供說明。
可能的值:
-
gcsCloud Storage bucket。
-
inline內嵌內容。
-
repository一般存放區。來源網址中的通訊協定前置字串會識別供應商 (例如 github://、gcs://)。
回應
如果成功,回應主體會含有以下結構的資料:
僅供輸出。環境建立時間,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ)。
僅供輸出。環境中的檔案數量 (僅供輸出)。
必填。僅供輸出。環境的 ID。
僅供輸出。上次存取環境的時間,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ)。
network EnvironmentNetworkEgressAllowlist 或列舉 (字串) (選用)
環境的網路設定。
可能的類型
object
沙箱的傳出網路設定。指定後,沙箱可連線的外部網域就會受到限制。完全省略,允許所有傳出流量,且不插入標頭。
allowlist array (AllowlistEntry) (選填)
允許的輸出網域清單。系統只允許對列出的網域提出要求。使用 [{'domain': '*'}] 允許所有網域,同時在特定網域上插入標頭。
欄位
允許向其發出外送要求的網域。支援萬用字元 (例如「*.googleapis.com」)。使用「*」允許所有網域。
要插入所有與這個網域相符的出站要求的標頭。可接受單一字典或字典清單。輸出 Proxy 會自動插入這些項目。
字串
關閉所有網路。
可能的值
-
disabled關閉所有網路。
僅供輸出。環境檔案的總大小 (以位元組為單位),僅供輸出。
sources array (Source) (optional)
要掛接至環境的來源。
欄位
如果 `type` 為 `INLINE`,則為內嵌內容。
內嵌內容的選用編碼 (例如 `base64`)。
環境來源。 如果是 Cloud Storage,則為 Cloud Storage 路徑。如果是 GitHub,這是指 GitHub 路徑。
來源在環境中的顯示位置。
未提供說明。
可能的值:
-
gcsCloud Storage bucket。
-
inline內嵌內容。
-
repository一般存放區。來源網址中的通訊協定前置字串會識別供應商 (例如 github://、gcs://)。
僅供輸出。環境容器的狀態。
可能的值:
-
active僅供輸出。環境容器的狀態。
-
expired僅供輸出。環境容器的狀態。
僅供輸出。環境上次更新的時間,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ)。
建立環境
回應範例
{ "created": "2026-08-19T00:00:00Z", "id": "env_abc123", "last_accessed": "2026-08-19T00:00:00Z", "sources": [ { "type": "inline", "content": "print('Hello, World!')", "target": "main.py" } ], "status": "active", "updated": "2026-08-19T00:00:00Z" }
ListEnvironments
列出環境。
路徑 / 查詢參數
(選用步驟) 要傳回的環境數量上限。如未指定,預設為 50。上限為 1000。
(選用步驟) 分頁符記。
回應
如果成功,回應主體會含有以下結構的資料:
屬於所提供專案的環境。
分頁符記。
可列出環境
回應範例
{ "environments": [ { "created": "2026-08-19T00:00:00Z", "id": "env_abc123", "last_accessed": "2026-08-19T00:00:00Z", "status": "active", "updated": "2026-08-19T00:00:00Z" } ] }
GetEnvironmentFiles
從環境快照擷取檔案中繼資料或目錄內容。如要直接下載檔案內容,請傳遞 ?alt=media 或使用 files.download 輔助程式。
路徑 / 查詢參數
(選用步驟) 每頁傳回的項目數量上限 (適用於目錄商家資訊)。
(選用步驟) 目錄清單的分頁權杖。
(選用步驟) 如果為 true 且路徑是目錄,則會以遞迴方式列出所有檔案。
回應
如果成功,回應主體會含有以下結構的資料:
files array (EnvironmentFile) (optional)
如果要求路徑是目錄,則此屬性會包含目錄內容。 如果要求的路徑是檔案,這會包含單一項目,其中含有檔案的中繼資料。如果指定了 alt=media,這個值會是空白 (內容會透過 `blob` 提供)。
欄位
僅供輸出。檔案/目錄的建立時間。
僅供輸出。檔案的 MIME 類型 (例如「text/python」、「image/png」)。 目錄則為空白。 NOLINT
僅供輸出。檔案/目錄的修改時間。
僅供輸出。檔案或目錄的名稱 (例如「main.py」或「src」)。
僅供輸出。環境中的完整相對路徑 (例如「workspace/src/main.py」)。
僅供輸出。檔案/目錄大小,以位元組為單位。 NOLINT
僅供輸出。項目的類型。
可能的值:
-
file一般檔案。
-
directory目錄。
目錄清單的分頁權杖。 NOLINT
列出環境中的檔案
回應範例
{ "files": [ { "name": "src", "type": "directory", "created": "2026-08-19T00:00:00Z", "modified": "2026-08-19T00:00:00Z", "path": "src" }, { "name": "main.py", "type": "file", "created": "2026-08-19T00:00:00Z", "mime_type": "text/x-python", "modified": "2026-08-19T00:00:00Z", "path": "main.py", "size_bytes": "22" } ] }
取得檔案中繼資料
回應範例
{ "files": [ { "name": "main.py", "type": "file", "created": "2026-08-19T00:00:00Z", "mime_type": "text/x-python", "modified": "2026-08-19T00:00:00Z", "path": "main.py", "size_bytes": "22" } ] }
下載檔案內容
回應範例
{ "files": [ { "name": "main.py", "type": "file", "mime_type": "text/x-python", "path": "main.py", "size_bytes": "22" } ] }
GetEnvironment
取得環境。
回應
如果成功,回應主體會含有以下結構的資料:
僅供輸出。環境建立時間,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ)。
僅供輸出。環境中的檔案數量 (僅供輸出)。
必填。僅供輸出。環境的 ID。
僅供輸出。上次存取環境的時間,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ)。
network EnvironmentNetworkEgressAllowlist 或列舉 (字串) (選用)
環境的網路設定。
可能的類型
object
沙箱的傳出網路設定。指定後,沙箱可連線的外部網域就會受到限制。完全省略,允許所有傳出流量,且不插入標頭。
allowlist array (AllowlistEntry) (選填)
允許的輸出網域清單。系統只允許對列出的網域提出要求。使用 [{'domain': '*'}] 允許所有網域,同時在特定網域上插入標頭。
欄位
允許向其發出外送要求的網域。支援萬用字元 (例如「*.googleapis.com」)。使用「*」允許所有網域。
要插入所有與這個網域相符的出站要求的標頭。可接受單一字典或字典清單。輸出 Proxy 會自動插入這些項目。
字串
關閉所有網路。
可能的值
-
disabled關閉所有網路。
僅供輸出。環境檔案的總大小 (以位元組為單位),僅供輸出。
sources array (Source) (optional)
要掛接至環境的來源。
欄位
如果 `type` 為 `INLINE`,則為內嵌內容。
內嵌內容的選用編碼 (例如 `base64`)。
環境來源。 如果是 Cloud Storage,則為 Cloud Storage 路徑。如果是 GitHub,這是指 GitHub 路徑。
來源在環境中的顯示位置。
未提供說明。
可能的值:
-
gcsCloud Storage bucket。
-
inline內嵌內容。
-
repository一般存放區。來源網址中的通訊協定前置字串會識別供應商 (例如 github://、gcs://)。
僅供輸出。環境容器的狀態。
可能的值:
-
active僅供輸出。環境容器的狀態。
-
expired僅供輸出。環境容器的狀態。
僅供輸出。環境上次更新的時間,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ)。
可取得環境
回應範例
{ "created": "2026-08-19T00:00:00Z", "id": "env_abc123", "last_accessed": "2026-08-19T00:00:00Z", "sources": [ { "type": "inline", "content": "print('Hello, World!')", "target": "main.py" } ], "status": "active", "updated": "2026-08-19T00:00:00Z" }
DeleteEnvironment
刪除環境。
回應
如果成功,回應會留白。
可刪除環境
資源
環境
代理的執行環境。
欄位
僅供輸出。環境建立時間,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ)。
僅供輸出。環境中的檔案數量 (僅供輸出)。
必填。僅供輸出。環境的 ID。
僅供輸出。上次存取環境的時間,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ)。
network EnvironmentNetworkEgressAllowlist 或列舉 (字串) (選用)
環境的網路設定。
可能的類型
object
沙箱的傳出網路設定。指定後,沙箱可連線的外部網域就會受到限制。完全省略,允許所有傳出流量,且不插入標頭。
allowlist array (AllowlistEntry) (選填)
允許的輸出網域清單。系統只允許對列出的網域提出要求。使用 [{'domain': '*'}] 允許所有網域,同時在特定網域上插入標頭。
欄位
允許向其發出外送要求的網域。支援萬用字元 (例如「*.googleapis.com」)。使用「*」允許所有網域。
要插入所有與這個網域相符的出站要求的標頭。可接受單一字典或字典清單。輸出 Proxy 會自動插入這些項目。
字串
關閉所有網路。
可能的值
-
disabled關閉所有網路。
僅供輸出。環境檔案的總大小 (以位元組為單位),僅供輸出。
sources array (Source) (optional)
要掛接至環境的來源。
欄位
如果 `type` 為 `INLINE`,則為內嵌內容。
內嵌內容的選用編碼 (例如 `base64`)。
環境來源。 如果是 Cloud Storage,則為 Cloud Storage 路徑。如果是 GitHub,這是指 GitHub 路徑。
來源在環境中的顯示位置。
未提供說明。
可能的值:
-
gcsCloud Storage bucket。
-
inline內嵌內容。
-
repository一般存放區。來源網址中的通訊協定前置字串會識別供應商 (例如 github://、gcs://)。
僅供輸出。環境容器的狀態。
可能的值:
-
active僅供輸出。環境容器的狀態。
-
expired僅供輸出。環境容器的狀態。
僅供輸出。環境上次更新的時間,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ)。