Gemini Environments API

環境提供隔離的執行環境,可安全地執行代理程式碼、工具和服務。

CreateEnvironment

post https://generativelanguage.googleapis.com/v1beta/environments

建立環境。

要求主體

要求主體會包含結構如下的資料:

network EnvironmentNetworkEgressAllowlist 或列舉 (字串)  (選用)

環境的網路設定。

沙箱的傳出網路設定。接受含有「允許清單」陣列的物件,以限制流量,或接受「disabled」字串,關閉所有網路存取權。完全省略,允許所有傳出流量,且不插入標頭。

可能的類型

object

沙箱的傳出網路設定。指定後,沙箱可連線的外部網域就會受到限制。完全省略,允許所有傳出流量,且不插入標頭。

allowlist array (AllowlistEntry)  (選填)

允許的輸出網域清單。系統只允許對列出的網域提出要求。使用 [{'domain': '*'}] 允許所有網域,同時在特定網域上插入標頭。

單一網域許可清單規則,可選擇是否要插入標頭。

欄位

網域 字串  (選用)

允許向其發出外送要求的網域。支援萬用字元 (例如「*.googleapis.com」)。使用「*」允許所有網域。

transform 陣列 (物件) 或物件  (選用)

要插入所有與這個網域相符的出站要求的標頭。可接受單一字典或字典清單。輸出 Proxy 會自動插入這些項目。

字串

關閉所有網路。

可能的值

  • disabled

    關閉所有網路。

sources array (Source)  (optional)

要掛接至環境的來源。

要掛接至環境的來源。

欄位

content string  (optional)

如果 `type` 為 `INLINE`,則為內嵌內容。

encoding string  (選填)

內嵌內容的選用編碼 (例如 `base64`)。

source string  (選填)

環境來源。 如果是 Cloud Storage,則為 Cloud Storage 路徑。如果是 GitHub,這是指 GitHub 路徑。

target string  (選填)

來源在環境中的顯示位置。

type enum (string)  (選填)

未提供說明。

可能的值:

  • gcs

    Cloud Storage bucket。

  • inline

    內嵌內容。

  • repository

    一般存放區。來源網址中的通訊協定前置字串會識別供應商 (例如 github://、gcs://)。

回應

如果成功,回應主體會含有以下結構的資料:

created string  (選用)

僅供輸出。環境建立時間,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ)。

file_count string  (optional)

僅供輸出。環境中的檔案數量 (僅供輸出)。

id string  (選用)

必填。僅供輸出。環境的 ID。

last_accessed string  (選用)

僅供輸出。上次存取環境的時間,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ)。

network EnvironmentNetworkEgressAllowlist 或列舉 (字串)  (選用)

環境的網路設定。

沙箱的傳出網路設定。接受含有「允許清單」陣列的物件,以限制流量,或接受「disabled」字串,關閉所有網路存取權。完全省略,允許所有傳出流量,且不插入標頭。

可能的類型

object

沙箱的傳出網路設定。指定後,沙箱可連線的外部網域就會受到限制。完全省略,允許所有傳出流量,且不插入標頭。

allowlist array (AllowlistEntry)  (選填)

允許的輸出網域清單。系統只允許對列出的網域提出要求。使用 [{'domain': '*'}] 允許所有網域,同時在特定網域上插入標頭。

單一網域許可清單規則,可選擇是否要插入標頭。

欄位

網域 字串  (選用)

允許向其發出外送要求的網域。支援萬用字元 (例如「*.googleapis.com」)。使用「*」允許所有網域。

transform 陣列 (物件) 或物件  (選用)

要插入所有與這個網域相符的出站要求的標頭。可接受單一字典或字典清單。輸出 Proxy 會自動插入這些項目。

字串

關閉所有網路。

可能的值

  • disabled

    關閉所有網路。

size_bytes string  (選用)

僅供輸出。環境檔案的總大小 (以位元組為單位),僅供輸出。

sources array (Source)  (optional)

要掛接至環境的來源。

要掛接至環境的來源。

欄位

content string  (optional)

如果 `type` 為 `INLINE`,則為內嵌內容。

encoding string  (選填)

內嵌內容的選用編碼 (例如 `base64`)。

source string  (選填)

環境來源。 如果是 Cloud Storage,則為 Cloud Storage 路徑。如果是 GitHub,這是指 GitHub 路徑。

target string  (選填)

來源在環境中的顯示位置。

type enum (string)  (選填)

未提供說明。

可能的值:

  • gcs

    Cloud Storage bucket。

  • inline

    內嵌內容。

  • repository

    一般存放區。來源網址中的通訊協定前置字串會識別供應商 (例如 github://、gcs://)。

狀態 列舉 (字串)  (選填)

僅供輸出。環境容器的狀態。

可能的值:

  • active

    僅供輸出。環境容器的狀態。

  • expired

    僅供輸出。環境容器的狀態。

updated string  (選填)

僅供輸出。環境上次更新的時間,採用 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

get https://generativelanguage.googleapis.com/v1beta/environments

列出環境。

路徑 / 查詢參數

page_size 整數  (選填)

(選用步驟) 要傳回的環境數量上限。如未指定,預設為 50。上限為 1000。

page_token string  (選用)

(選用步驟) 分頁符記。

回應

如果成功,回應主體會含有以下結構的資料:

environments 陣列 (Environment)  (選填)

屬於所提供專案的環境。

next_page_token 字串  (選用)

分頁符記。

可列出環境

回應範例

{
  "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

get https://generativelanguage.googleapis.com/v1beta/environments/{environment}/files/{path}

從環境快照擷取檔案中繼資料或目錄內容。如要直接下載檔案內容,請傳遞 ?alt=media 或使用 files.download 輔助程式。

路徑 / 查詢參數

page_size 整數  (選填)

(選用步驟) 每頁傳回的項目數量上限 (適用於目錄商家資訊)。

page_token string  (選用)

(選用步驟) 目錄清單的分頁權杖。

recursive boolean  (選填)

(選用步驟) 如果為 true 且路徑是目錄,則會以遞迴方式列出所有檔案。

回應

如果成功,回應主體會含有以下結構的資料:

files array (EnvironmentFile)  (optional)

如果要求路徑是目錄,則此屬性會包含目錄內容。 如果要求的路徑是檔案,這會包含單一項目,其中含有檔案的中繼資料。如果指定了 alt=media,這個值會是空白 (內容會透過 `blob` 提供)。

環境中檔案或目錄的中繼資料。

欄位

created string  (選用)

僅供輸出。檔案/目錄的建立時間。

mime_type 字串  (選用)

僅供輸出。檔案的 MIME 類型 (例如「text/python」、「image/png」)。 目錄則為空白。 NOLINT

modified string  (選用)

僅供輸出。檔案/目錄的修改時間。

name string  (optional)

僅供輸出。檔案或目錄的名稱 (例如「main.py」或「src」)。

path string  (選填)

僅供輸出。環境中的完整相對路徑 (例如「workspace/src/main.py」)。

size_bytes string  (選用)

僅供輸出。檔案/目錄大小,以位元組為單位。 NOLINT

type enum (string)  (選填)

僅供輸出。項目的類型。

可能的值:

  • file

    一般檔案。

  • directory

    目錄。

next_page_token 字串  (選用)

目錄清單的分頁權杖。 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

get https://generativelanguage.googleapis.com/v1beta/environments/{id}

取得環境。

回應

如果成功,回應主體會含有以下結構的資料:

created string  (選用)

僅供輸出。環境建立時間,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ)。

file_count string  (optional)

僅供輸出。環境中的檔案數量 (僅供輸出)。

id string  (選用)

必填。僅供輸出。環境的 ID。

last_accessed string  (選用)

僅供輸出。上次存取環境的時間,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ)。

network EnvironmentNetworkEgressAllowlist 或列舉 (字串)  (選用)

環境的網路設定。

沙箱的傳出網路設定。接受含有「允許清單」陣列的物件,以限制流量,或接受「disabled」字串,關閉所有網路存取權。完全省略,允許所有傳出流量,且不插入標頭。

可能的類型

object

沙箱的傳出網路設定。指定後,沙箱可連線的外部網域就會受到限制。完全省略,允許所有傳出流量,且不插入標頭。

allowlist array (AllowlistEntry)  (選填)

允許的輸出網域清單。系統只允許對列出的網域提出要求。使用 [{'domain': '*'}] 允許所有網域,同時在特定網域上插入標頭。

單一網域許可清單規則,可選擇是否要插入標頭。

欄位

網域 字串  (選用)

允許向其發出外送要求的網域。支援萬用字元 (例如「*.googleapis.com」)。使用「*」允許所有網域。

transform 陣列 (物件) 或物件  (選用)

要插入所有與這個網域相符的出站要求的標頭。可接受單一字典或字典清單。輸出 Proxy 會自動插入這些項目。

字串

關閉所有網路。

可能的值

  • disabled

    關閉所有網路。

size_bytes string  (選用)

僅供輸出。環境檔案的總大小 (以位元組為單位),僅供輸出。

sources array (Source)  (optional)

要掛接至環境的來源。

要掛接至環境的來源。

欄位

content string  (optional)

如果 `type` 為 `INLINE`,則為內嵌內容。

encoding string  (選填)

內嵌內容的選用編碼 (例如 `base64`)。

source string  (選填)

環境來源。 如果是 Cloud Storage,則為 Cloud Storage 路徑。如果是 GitHub,這是指 GitHub 路徑。

target string  (選填)

來源在環境中的顯示位置。

type enum (string)  (選填)

未提供說明。

可能的值:

  • gcs

    Cloud Storage bucket。

  • inline

    內嵌內容。

  • repository

    一般存放區。來源網址中的通訊協定前置字串會識別供應商 (例如 github://、gcs://)。

狀態 列舉 (字串)  (選填)

僅供輸出。環境容器的狀態。

可能的值:

  • active

    僅供輸出。環境容器的狀態。

  • expired

    僅供輸出。環境容器的狀態。

updated string  (選填)

僅供輸出。環境上次更新的時間,採用 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

delete https://generativelanguage.googleapis.com/v1beta/environments/{id}

刪除環境。

回應

如果成功,回應會留白。

可刪除環境

資源

環境

代理的執行環境。

欄位

created string  (選用)

僅供輸出。環境建立時間,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ)。

file_count string  (optional)

僅供輸出。環境中的檔案數量 (僅供輸出)。

id string  (選用)

必填。僅供輸出。環境的 ID。

last_accessed string  (選用)

僅供輸出。上次存取環境的時間,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ)。

network EnvironmentNetworkEgressAllowlist 或列舉 (字串)  (選用)

環境的網路設定。

沙箱的傳出網路設定。接受含有「允許清單」陣列的物件,以限制流量,或接受「disabled」字串,關閉所有網路存取權。完全省略,允許所有傳出流量,且不插入標頭。

可能的類型

object

沙箱的傳出網路設定。指定後,沙箱可連線的外部網域就會受到限制。完全省略,允許所有傳出流量,且不插入標頭。

allowlist array (AllowlistEntry)  (選填)

允許的輸出網域清單。系統只允許對列出的網域提出要求。使用 [{'domain': '*'}] 允許所有網域,同時在特定網域上插入標頭。

單一網域許可清單規則,可選擇是否要插入標頭。

欄位

網域 字串  (選用)

允許向其發出外送要求的網域。支援萬用字元 (例如「*.googleapis.com」)。使用「*」允許所有網域。

transform 陣列 (物件) 或物件  (選用)

要插入所有與這個網域相符的出站要求的標頭。可接受單一字典或字典清單。輸出 Proxy 會自動插入這些項目。

字串

關閉所有網路。

可能的值

  • disabled

    關閉所有網路。

size_bytes string  (選用)

僅供輸出。環境檔案的總大小 (以位元組為單位),僅供輸出。

sources array (Source)  (optional)

要掛接至環境的來源。

要掛接至環境的來源。

欄位

content string  (optional)

如果 `type` 為 `INLINE`,則為內嵌內容。

encoding string  (選填)

內嵌內容的選用編碼 (例如 `base64`)。

source string  (選填)

環境來源。 如果是 Cloud Storage,則為 Cloud Storage 路徑。如果是 GitHub,這是指 GitHub 路徑。

target string  (選填)

來源在環境中的顯示位置。

type enum (string)  (選填)

未提供說明。

可能的值:

  • gcs

    Cloud Storage bucket。

  • inline

    內嵌內容。

  • repository

    一般存放區。來源網址中的通訊協定前置字串會識別供應商 (例如 github://、gcs://)。

狀態 列舉 (字串)  (選填)

僅供輸出。環境容器的狀態。

可能的值:

  • active

    僅供輸出。環境容器的狀態。

  • expired

    僅供輸出。環境容器的狀態。

updated string  (選填)

僅供輸出。環境上次更新的時間,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ)。