Gemini Environments API

Środowiska zapewniają odizolowane konteksty wykonywania, w których można bezpiecznie uruchamiać kod agenta, narzędzia i usługi.

CreateEnvironment

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

Tworzy środowisko.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

network EnvironmentNetworkEgressAllowlist lub wyliczenie (ciąg znaków)  (opcjonalnie)

Konfiguracja sieci dla środowiska.

Konfiguracja sieci wychodzącej w piaskownicy. Akceptuje obiekt z tablicą „allowlist” (lista dozwolonych adresów) w celu ograniczenia ruchu lub ciąg znaków „disabled” (wyłączony) w celu wyłączenia całego dostępu do sieci. Aby zezwolić na cały ruch wychodzący bez wstrzykiwania nagłówka, całkowicie pomiń tę sekcję.

Możliwe typy

obiekt

Konfiguracja sieci wychodzącej w piaskownicy. Jeśli jest określona, ogranicza zewnętrzne domeny, do których piaskownica może uzyskać dostęp. Aby zezwolić na cały ruch wychodzący bez wstrzykiwania nagłówka, całkowicie pomiń tę sekcję.

allowlist array (AllowlistEntry)  (opcjonalnie)

Lista dozwolonych domen wychodzących. Dozwolone są tylko żądania kierowane do domen z listy. Użyj [{'domain': '*'}], aby zezwolić na wszystkie domeny, a jednocześnie wstawiać nagłówki w określonych domenach.

Jedna reguła listy dozwolonych domen z opcjonalnym wstrzykiwaniem nagłówków.

Pola

domain string  (opcjonalny)

Domena, do której chcesz zezwolić na wysyłanie żądań wychodzących. Obsługuje symbole wieloznaczne (np. „*.googleapis.com”). Użyj symbolu „*”, aby zezwolić na wszystkie domeny.

transform tablica (obiekt) lub obiekt  (opcjonalnie)

Nagłówki do wstrzyknięcia we wszystkich żądaniach wychodzących pasujących do tej domeny. Akceptuje pojedynczy słownik lub listę słowników. Serwer proxy ruchu wychodzącego wstrzykuje je automatycznie.

ciąg

Wyłącza wszystkie sieci.

Dozwolone wartości

  • disabled

    Wyłącza wszystkie sieci.

sources array (Source)  (opcjonalnie)

Źródła do zamontowania w środowisku.

Źródło do zamontowania w środowisku.

Pola

content string  (opcjonalnie)

Treści wbudowane, jeśli pole „type” ma wartość „INLINE”.

encoding string  (opcjonalnie)

Opcjonalne kodowanie treści wbudowanych (np. `base64`).

source string  (opcjonalnie)

Źródło środowiska. W przypadku Cloud Storage jest to ścieżka Cloud Storage. W przypadku GitHubu jest to ścieżka GitHub.

target string  (opcjonalnie)

Miejsce, w którym źródło powinno się pojawić w środowisku.

type enum (string)  (opcjonalnie)

Brak opisu

Możliwe wartości:

  • gcs

    zasobnik Cloud Storage,

  • inline

    Treści w tekście.

  • repository

    ogólne repozytorium. Prefiks protokołu w adresie URL źródła określa dostawcę (np. github://, gcs://).

Odpowiedź

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

created ciąg znaków  (opcjonalnie)

Tylko dane wyjściowe. Czas utworzenia środowiska w formacie ISO 8601 (RRRR-MM-DDThh:mm:ssZ).

file_count ciąg  (opcjonalny)

Tylko dane wyjściowe. Liczba plików w środowisku (tylko dane wyjściowe).

id ciąg znaków  (opcjonalnie)

Wymagane. Tylko dane wyjściowe. Identyfikator środowiska.

last_accessed ciąg  (opcjonalny)

Tylko dane wyjściowe. Czas ostatniego dostępu do środowiska w formacie ISO 8601 (RRRR-MM-DDThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist lub wyliczenie (ciąg znaków)  (opcjonalnie)

Konfiguracja sieci dla środowiska.

Konfiguracja sieci wychodzącej w piaskownicy. Akceptuje obiekt z tablicą „allowlist” (lista dozwolonych adresów) w celu ograniczenia ruchu lub ciąg znaków „disabled” (wyłączony) w celu wyłączenia całego dostępu do sieci. Aby zezwolić na cały ruch wychodzący bez wstrzykiwania nagłówka, całkowicie pomiń tę sekcję.

Możliwe typy

obiekt

Konfiguracja sieci wychodzącej w piaskownicy. Jeśli jest określona, ogranicza zewnętrzne domeny, do których piaskownica może uzyskać dostęp. Aby zezwolić na cały ruch wychodzący bez wstrzykiwania nagłówka, całkowicie pomiń tę sekcję.

allowlist array (AllowlistEntry)  (opcjonalnie)

Lista dozwolonych domen wychodzących. Dozwolone są tylko żądania kierowane do domen z listy. Użyj [{'domain': '*'}], aby zezwolić na wszystkie domeny, a jednocześnie wstawiać nagłówki w określonych domenach.

Jedna reguła listy dozwolonych domen z opcjonalnym wstrzykiwaniem nagłówków.

Pola

domain string  (opcjonalny)

Domena, do której chcesz zezwolić na wysyłanie żądań wychodzących. Obsługuje symbole wieloznaczne (np. „*.googleapis.com”). Użyj symbolu „*”, aby zezwolić na wszystkie domeny.

transform tablica (obiekt) lub obiekt  (opcjonalnie)

Nagłówki do wstrzyknięcia we wszystkich żądaniach wychodzących pasujących do tej domeny. Akceptuje pojedynczy słownik lub listę słowników. Serwer proxy ruchu wychodzącego wstrzykuje je automatycznie.

ciąg

Wyłącza wszystkie sieci.

Dozwolone wartości

  • disabled

    Wyłącza wszystkie sieci.

size_bytes ciąg  (opcjonalnie)

Tylko dane wyjściowe. Łączny rozmiar plików środowiska w bajtach (tylko dane wyjściowe).

sources tablica (Source)  (opcjonalnie)

Źródła do zamontowania w środowisku.

Źródło do zamontowania w środowisku.

Pola

content string  (opcjonalnie)

Treści wbudowane, jeśli pole „type” ma wartość „INLINE”.

encoding string  (opcjonalnie)

Opcjonalne kodowanie treści wbudowanych (np. `base64`).

source string  (opcjonalnie)

Źródło środowiska. W przypadku Cloud Storage jest to ścieżka Cloud Storage. W przypadku GitHubu jest to ścieżka GitHub.

target string  (opcjonalnie)

Miejsce, w którym źródło powinno się pojawić w środowisku.

type enum (string)  (opcjonalnie)

Brak opisu

Możliwe wartości:

  • gcs

    zasobnik Cloud Storage,

  • inline

    Treści w tekście.

  • repository

    ogólne repozytorium. Prefiks protokołu w adresie URL źródła określa dostawcę (np. github://, gcs://).

status enum (string)  (opcjonalnie)

Tylko dane wyjściowe. Stan kontenera środowiska.

Możliwe wartości:

  • active

    Tylko dane wyjściowe. Stan kontenera środowiska.

  • expired

    Tylko dane wyjściowe. Stan kontenera środowiska.

updated string  (opcjonalnie)

Tylko dane wyjściowe. Czas ostatniej aktualizacji środowiska w formacie ISO 8601 (RRRR-MM-DDThh:mm:ssZ).

Utwórz środowisko

Przykładowa odpowiedź

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

Wyświetla listę środowisk.

Parametry ścieżki lub zapytania

page_size integer  (opcjonalny)

Opcjonalnie. Maksymalna liczba środowisk do zwrócenia. Jeśli nie określisz tu żadnej wartości, zostanie użyte ustawienie domyślne 50. Maksymalna wartość to 1000.

page_token ciąg  (opcjonalny)

Opcjonalnie. Token stronicowania.

Odpowiedź

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

environments tablica (Environment)  (opcjonalnie)

Środowiska należące do podanego projektu.

next_page_token ciąg  (opcjonalny)

Token stronicowania.

Wyświetlanie listy środowisk

Przykładowa odpowiedź

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

Pobiera metadane pliku lub zawartość katalogu ze zrzutu środowiska. Aby pobrać zawartość pliku bezpośrednio, przekaż parametr ?alt=media lub użyj funkcji pomocniczej files.download.

Parametry ścieżki lub zapytania

page_size integer  (opcjonalny)

Opcjonalnie. Maksymalna liczba wpisów do zwrócenia na stronę (w przypadku wpisu w katalogu).

page_token ciąg  (opcjonalny)

Opcjonalnie. Token podziału na strony w przypadku wpisu w katalogu.

recursive wartość logiczna  (opcjonalnie)

Opcjonalnie. Jeśli ma wartość true, a ścieżka jest katalogiem, rekursywnie wyświetla listę wszystkich plików.

Odpowiedź

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

files array (EnvironmentFile)  (opcjonalnie)

Jeśli żądana ścieżka jest katalogiem, zawiera jego zawartość. Jeśli żądana ścieżka jest plikiem, zawiera ona 1 wpis z metadanymi pliku. Jeśli określono alt=media, to pole jest puste (treści są dostarczane za pomocą parametru „blob”).

Metadane pliku lub katalogu w środowisku.

Pola

created ciąg znaków  (opcjonalnie)

Tylko dane wyjściowe. Czas utworzenia pliku lub katalogu.

mime_type ciąg  (opcjonalny)

Tylko dane wyjściowe. Typ MIME pliku (np. „text/python”, „image/png”). Puste w przypadku katalogów. NOLINT

modified ciąg znaków  (opcjonalnie)

Tylko dane wyjściowe. Czas modyfikacji pliku lub katalogu.

name string  (opcjonalny)

Tylko dane wyjściowe. Nazwa pliku lub katalogu (np. „main.py” lub „src”).

path string  (opcjonalnie)

Tylko dane wyjściowe. Pełna ścieżka względna w środowisku (np. „workspace/src/main.py”).

size_bytes ciąg  (opcjonalnie)

Tylko dane wyjściowe. Rozmiar pliku lub katalogu w bajtach. NOLINT

type enum (string)  (opcjonalnie)

Tylko dane wyjściowe. Typ wpisu.

Możliwe wartości:

  • file

    zwykły plik,

  • directory

    katalogu,

next_page_token ciąg  (opcjonalny)

Token podziału na strony w przypadku wpisu w katalogu. NOLINT

Wyświetlanie listy plików w środowisku

Przykładowa odpowiedź

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

Pobieranie metadanych pliku

Przykładowa odpowiedź

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

Pobieranie zawartości pliku

Przykładowa odpowiedź

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

Pobiera środowisko.

Odpowiedź

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

created ciąg znaków  (opcjonalnie)

Tylko dane wyjściowe. Czas utworzenia środowiska w formacie ISO 8601 (RRRR-MM-DDThh:mm:ssZ).

file_count ciąg  (opcjonalny)

Tylko dane wyjściowe. Liczba plików w środowisku (tylko dane wyjściowe).

id ciąg znaków  (opcjonalnie)

Wymagane. Tylko dane wyjściowe. Identyfikator środowiska.

last_accessed ciąg  (opcjonalny)

Tylko dane wyjściowe. Czas ostatniego dostępu do środowiska w formacie ISO 8601 (RRRR-MM-DDThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist lub wyliczenie (ciąg znaków)  (opcjonalnie)

Konfiguracja sieci dla środowiska.

Konfiguracja sieci wychodzącej w piaskownicy. Akceptuje obiekt z tablicą „allowlist” (lista dozwolonych adresów) w celu ograniczenia ruchu lub ciąg znaków „disabled” (wyłączony) w celu wyłączenia całego dostępu do sieci. Aby zezwolić na cały ruch wychodzący bez wstrzykiwania nagłówka, całkowicie pomiń tę sekcję.

Możliwe typy

obiekt

Konfiguracja sieci wychodzącej w piaskownicy. Jeśli jest określona, ogranicza zewnętrzne domeny, do których piaskownica może uzyskać dostęp. Aby zezwolić na cały ruch wychodzący bez wstrzykiwania nagłówka, całkowicie pomiń tę sekcję.

allowlist array (AllowlistEntry)  (opcjonalnie)

Lista dozwolonych domen wychodzących. Dozwolone są tylko żądania kierowane do domen z listy. Użyj [{'domain': '*'}], aby zezwolić na wszystkie domeny, a jednocześnie wstawiać nagłówki w określonych domenach.

Jedna reguła listy dozwolonych domen z opcjonalnym wstrzykiwaniem nagłówków.

Pola

domain string  (opcjonalny)

Domena, do której chcesz zezwolić na wysyłanie żądań wychodzących. Obsługuje symbole wieloznaczne (np. „*.googleapis.com”). Użyj symbolu „*”, aby zezwolić na wszystkie domeny.

transform tablica (obiekt) lub obiekt  (opcjonalnie)

Nagłówki do wstrzyknięcia we wszystkich żądaniach wychodzących pasujących do tej domeny. Akceptuje pojedynczy słownik lub listę słowników. Serwer proxy ruchu wychodzącego wstrzykuje je automatycznie.

ciąg

Wyłącza wszystkie sieci.

Dozwolone wartości

  • disabled

    Wyłącza wszystkie sieci.

size_bytes ciąg  (opcjonalnie)

Tylko dane wyjściowe. Łączny rozmiar plików środowiska w bajtach (tylko dane wyjściowe).

sources tablica (Source)  (opcjonalnie)

Źródła do zamontowania w środowisku.

Źródło do zamontowania w środowisku.

Pola

content string  (opcjonalnie)

Treści wbudowane, jeśli pole „type” ma wartość „INLINE”.

encoding string  (opcjonalnie)

Opcjonalne kodowanie treści wbudowanych (np. `base64`).

source string  (opcjonalnie)

Źródło środowiska. W przypadku Cloud Storage jest to ścieżka Cloud Storage. W przypadku GitHubu jest to ścieżka GitHub.

target string  (opcjonalnie)

Miejsce, w którym źródło powinno się pojawić w środowisku.

type enum (string)  (opcjonalnie)

Brak opisu

Możliwe wartości:

  • gcs

    zasobnik Cloud Storage,

  • inline

    Treści w tekście.

  • repository

    ogólne repozytorium. Prefiks protokołu w adresie URL źródła określa dostawcę (np. github://, gcs://).

status enum (string)  (opcjonalnie)

Tylko dane wyjściowe. Stan kontenera środowiska.

Możliwe wartości:

  • active

    Tylko dane wyjściowe. Stan kontenera środowiska.

  • expired

    Tylko dane wyjściowe. Stan kontenera środowiska.

updated string  (opcjonalnie)

Tylko dane wyjściowe. Czas ostatniej aktualizacji środowiska w formacie ISO 8601 (RRRR-MM-DDThh:mm:ssZ).

Pobieranie środowiska

Przykładowa odpowiedź

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

Usuwa środowisko.

Odpowiedź

Jeśli operacja się uda, odpowiedź będzie pusta.

Usuwanie środowiska

Zasoby

Środowisko

Środowisko wykonawcze agenta.

Pola

created ciąg znaków  (opcjonalnie)

Tylko dane wyjściowe. Czas utworzenia środowiska w formacie ISO 8601 (RRRR-MM-DDThh:mm:ssZ).

file_count ciąg  (opcjonalny)

Tylko dane wyjściowe. Liczba plików w środowisku (tylko dane wyjściowe).

id ciąg znaków  (opcjonalnie)

Wymagane. Tylko dane wyjściowe. Identyfikator środowiska.

last_accessed ciąg  (opcjonalny)

Tylko dane wyjściowe. Czas ostatniego dostępu do środowiska w formacie ISO 8601 (RRRR-MM-DDThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist lub wyliczenie (ciąg znaków)  (opcjonalnie)

Konfiguracja sieci dla środowiska.

Konfiguracja sieci wychodzącej w piaskownicy. Akceptuje obiekt z tablicą „allowlist” (lista dozwolonych adresów) w celu ograniczenia ruchu lub ciąg znaków „disabled” (wyłączony) w celu wyłączenia całego dostępu do sieci. Aby zezwolić na cały ruch wychodzący bez wstrzykiwania nagłówka, całkowicie pomiń tę sekcję.

Możliwe typy

obiekt

Konfiguracja sieci wychodzącej w piaskownicy. Jeśli jest określona, ogranicza zewnętrzne domeny, do których piaskownica może uzyskać dostęp. Aby zezwolić na cały ruch wychodzący bez wstrzykiwania nagłówka, całkowicie pomiń tę sekcję.

allowlist array (AllowlistEntry)  (opcjonalnie)

Lista dozwolonych domen wychodzących. Dozwolone są tylko żądania kierowane do domen z listy. Użyj [{'domain': '*'}], aby zezwolić na wszystkie domeny, a jednocześnie wstawiać nagłówki w określonych domenach.

Jedna reguła listy dozwolonych domen z opcjonalnym wstrzykiwaniem nagłówków.

Pola

domain string  (opcjonalny)

Domena, do której chcesz zezwolić na wysyłanie żądań wychodzących. Obsługuje symbole wieloznaczne (np. „*.googleapis.com”). Użyj symbolu „*”, aby zezwolić na wszystkie domeny.

transform tablica (obiekt) lub obiekt  (opcjonalnie)

Nagłówki do wstrzyknięcia we wszystkich żądaniach wychodzących pasujących do tej domeny. Akceptuje pojedynczy słownik lub listę słowników. Serwer proxy ruchu wychodzącego wstrzykuje je automatycznie.

ciąg

Wyłącza wszystkie sieci.

Dozwolone wartości

  • disabled

    Wyłącza wszystkie sieci.

size_bytes ciąg  (opcjonalnie)

Tylko dane wyjściowe. Łączny rozmiar plików środowiska w bajtach (tylko dane wyjściowe).

sources tablica (Source)  (opcjonalnie)

Źródła do zamontowania w środowisku.

Źródło do zamontowania w środowisku.

Pola

content string  (opcjonalnie)

Treści wbudowane, jeśli pole „type” ma wartość „INLINE”.

encoding string  (opcjonalnie)

Opcjonalne kodowanie treści wbudowanych (np. `base64`).

source string  (opcjonalnie)

Źródło środowiska. W przypadku Cloud Storage jest to ścieżka Cloud Storage. W przypadku GitHubu jest to ścieżka GitHub.

target string  (opcjonalnie)

Miejsce, w którym źródło powinno się pojawić w środowisku.

type enum (string)  (opcjonalnie)

Brak opisu

Możliwe wartości:

  • gcs

    zasobnik Cloud Storage,

  • inline

    Treści w tekście.

  • repository

    ogólne repozytorium. Prefiks protokołu w adresie URL źródła określa dostawcę (np. github://, gcs://).

status enum (string)  (opcjonalnie)

Tylko dane wyjściowe. Stan kontenera środowiska.

Możliwe wartości:

  • active

    Tylko dane wyjściowe. Stan kontenera środowiska.

  • expired

    Tylko dane wyjściowe. Stan kontenera środowiska.

updated string  (opcjonalnie)

Tylko dane wyjściowe. Czas ostatniej aktualizacji środowiska w formacie ISO 8601 (RRRR-MM-DDThh:mm:ssZ).