Gemini Environments API

محیط‌ها، زمینه‌های اجرایی ایزوله‌ای را برای اجرای امن کد عامل، ابزارها و سرویس‌ها فراهم می‌کنند.

ایجاد محیط

ارسال به آدرس https://generativelanguage.googleapis.com/v1beta/environments

محیطی ایجاد می‌کند.

درخواست بدنه

بدنه درخواست شامل داده‌هایی با ساختار زیر است:

شبکه EnvironmentNetworkEgressAllowlist یا enum (رشته‌ای) (اختیاری)

پیکربندی شبکه برای محیط.

پیکربندی شبکه خروجی برای sandbox. یک شیء با آرایه 'allowlist' را برای محدود کردن ترافیک یا رشته 'disabled' را برای خاموش کردن تمام دسترسی به شبکه می‌پذیرد. برای مجاز کردن تمام ترافیک خروجی بدون تزریق هدر، این بخش را به طور کامل حذف کنید.

انواع ممکن

شیء

پیکربندی شبکه خروجی برای sandbox. در صورت مشخص شدن، دامنه‌های خارجی که sandbox می‌تواند به آنها دسترسی داشته باشد را محدود می‌کند. برای مجاز کردن تمام ترافیک خروجی بدون تزریق هدر، این مورد را به طور کامل حذف کنید.

آرایه allowlist (AllowlistEntry) (اختیاری)

فهرست دامنه‌های خروجی مجاز. فقط درخواست‌ها به دامنه‌های فهرست‌شده مجاز هستند. از [{'domain': '*'}] برای مجاز کردن همه دامنه‌ها استفاده کنید و در عین حال هدرها را روی دامنه‌های خاص تزریق کنید.

یک قانون لیست مجاز دامنه واحد با تزریق هدر اختیاری.

فیلدها

رشته دامنه (اختیاری)

دامنه‌ای که درخواست‌های خروجی به آن مجاز است. از کاراکترهای عمومی (مثلاً '*.googleapis.com') پشتیبانی می‌کند. از '*' برای مجاز کردن همه دامنه‌ها استفاده کنید.

تبدیل آرایه (شیء) یا شیء (اختیاری)

هدرهایی برای تزریق در تمام درخواست‌های خروجی مطابق با این دامنه. یک dict یا لیستی از dictها را می‌پذیرد. پروکسی خروجی این موارد را به طور خودکار تزریق می‌کند.

رشته

تمام شبکه‌ها را خاموش می‌کند.

مقادیر ممکن

  • disabled

    تمام شبکه‌ها را خاموش می‌کند.

آرایه منابع (منبع) (اختیاری)

منابعی که باید در محیط نصب شوند.

منبعی که باید در محیط نصب شود.

فیلدها

رشته محتوا (اختیاری)

محتوای درون‌خطی اگر `type` باشد، `INLINE` است.

رشته کدگذاری (اختیاری)

کدگذاری اختیاری برای محتوای درون‌خطی (مثلاً `base64`).

رشته منبع (اختیاری)

منبع محیط. برای فضای ذخیره‌سازی ابری، این مسیر فضای ذخیره‌سازی ابری است. برای گیت‌هاب، این مسیر گیت‌هاب است.

رشته هدف (اختیاری)

جایی که منبع باید در محیط ظاهر شود.

نوع enum (رشته) (اختیاری)

هیچ توضیحی ارائه نشده است.

مقادیر ممکن:

  • gcs

    یک مخزن ذخیره‌سازی ابری.

  • inline

    محتوای درون خطی.

  • repository

    یک مخزن عمومی. پیشوند پروتکل در URL منبع، ارائه‌دهنده را مشخص می‌کند (مثلاً github://، gcs://).

پاسخ

در صورت موفقیت، بدنه پاسخ شامل داده‌هایی با ساختار زیر است:

رشته ایجاد شده (اختیاری)

فقط خروجی. زمانی که محیط با فرمت ISO 8601 (YYYY-MM-DDThh:mm:ssZ) ایجاد شده است.

رشته‌ی file_count (اختیاری)

فقط خروجی. تعداد فایل‌های موجود در محیط، فقط خروجی.

رشته شناسه (اختیاری)

الزامی. فقط خروجی. شناسه محیط.

رشته‌ی آخرین دسترسی (اختیاری)

فقط خروجی. زمان آخرین دسترسی به محیط در قالب ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

شبکه EnvironmentNetworkEgressAllowlist یا enum (رشته‌ای) (اختیاری)

پیکربندی شبکه برای محیط.

پیکربندی شبکه خروجی برای sandbox. یک شیء با آرایه 'allowlist' را برای محدود کردن ترافیک یا رشته 'disabled' را برای خاموش کردن تمام دسترسی به شبکه می‌پذیرد. برای مجاز کردن تمام ترافیک خروجی بدون تزریق هدر، این بخش را به طور کامل حذف کنید.

انواع ممکن

شیء

پیکربندی شبکه خروجی برای sandbox. در صورت مشخص شدن، دامنه‌های خارجی که sandbox می‌تواند به آنها دسترسی داشته باشد را محدود می‌کند. برای مجاز کردن تمام ترافیک خروجی بدون تزریق هدر، این مورد را به طور کامل حذف کنید.

آرایه allowlist (AllowlistEntry) (اختیاری)

فهرست دامنه‌های خروجی مجاز. فقط درخواست‌ها به دامنه‌های فهرست‌شده مجاز هستند. از [{'domain': '*'}] برای مجاز کردن همه دامنه‌ها استفاده کنید و در عین حال هدرها را روی دامنه‌های خاص تزریق کنید.

یک قانون لیست مجاز دامنه واحد با تزریق هدر اختیاری.

فیلدها

رشته دامنه (اختیاری)

دامنه‌ای که درخواست‌های خروجی به آن مجاز است. از کاراکترهای عمومی (مثلاً '*.googleapis.com') پشتیبانی می‌کند. از '*' برای مجاز کردن همه دامنه‌ها استفاده کنید.

تبدیل آرایه (شیء) یا شیء (اختیاری)

هدرهایی برای تزریق در تمام درخواست‌های خروجی مطابق با این دامنه. یک dict یا لیستی از dictها را می‌پذیرد. پروکسی خروجی این موارد را به طور خودکار تزریق می‌کند.

رشته

تمام شبکه‌ها را خاموش می‌کند.

مقادیر ممکن

  • disabled

    تمام شبکه‌ها را خاموش می‌کند.

رشته size_bytes (اختیاری)

فقط خروجی. اندازه کل فایل‌های محیط بر حسب بایت، فقط خروجی.

آرایه منابع (منبع) (اختیاری)

منابعی که باید در محیط نصب شوند.

منبعی که باید در محیط نصب شود.

فیلدها

رشته محتوا (اختیاری)

محتوای درون‌خطی اگر `type` باشد، `INLINE` است.

رشته کدگذاری (اختیاری)

کدگذاری اختیاری برای محتوای درون‌خطی (مثلاً `base64`).

رشته منبع (اختیاری)

منبع محیط. برای فضای ذخیره‌سازی ابری، این مسیر فضای ذخیره‌سازی ابری است. برای گیت‌هاب، این مسیر گیت‌هاب است.

رشته هدف (اختیاری)

جایی که منبع باید در محیط ظاهر شود.

نوع enum (رشته) (اختیاری)

هیچ توضیحی ارائه نشده است.

مقادیر ممکن:

  • gcs

    یک مخزن ذخیره‌سازی ابری.

  • inline

    محتوای درون خطی.

  • repository

    یک مخزن عمومی. پیشوند پروتکل در URL منبع، ارائه‌دهنده را مشخص می‌کند (مثلاً 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"
}

محیط‌های فهرست

دریافت کنید https://generativelanguage.googleapis.com/v1beta/environments

محیط‌ها را فهرست می‌کند.

پارامترهای مسیر/پرس‌وجو

عدد صحیح page_size (اختیاری)

اختیاری. حداکثر تعداد محیط‌هایی که باید برگردانده شوند.\nاگر مشخص نشود، پیش‌فرض ۵۰ است. حداکثر ۱۰۰۰ است.

رشته‌ی page_token (اختیاری)

اختیاری. توکن صفحه‌بندی.

پاسخ

در صورت موفقیت، بدنه پاسخ شامل داده‌هایی با ساختار زیر است:

آرایه محیط‌ها ( 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"
    }
  ]
}

فایل‌های محیط‌زیست را دریافت کنید

دریافت https://generativelanguage.googleapis.com/v1beta/environments/{environment}/files/{path}

فراداده‌های فایل یا محتویات دایرکتوری را از snapshot یک محیط بازیابی می‌کند. برای دانلود مستقیم محتویات فایل، ?alt=media را ارسال کنید یا از تابع کمکی files.download استفاده کنید.

پارامترهای مسیر/پرس‌وجو

عدد صحیح page_size (اختیاری)

اختیاری. حداکثر تعداد ورودی‌ها برای برگرداندن در هر صفحه (برای فهرست دایرکتوری).

رشته‌ی page_token (اختیاری)

اختیاری. توکن صفحه‌بندی برای فهرست کردن دایرکتوری.

نوع داده بولی بازگشتی (اختیاری)

اختیاری. اگر مقدار true باشد و مسیر یک دایرکتوری باشد، به صورت بازگشتی تمام فایل‌ها را لیست می‌کند.

پاسخ

در صورت موفقیت، بدنه پاسخ شامل داده‌هایی با ساختار زیر است:

آرایه فایل‌ها (EnvironmentFile) (اختیاری)

اگر مسیر درخواستی یک دایرکتوری باشد، این شامل محتویات آن است. اگر مسیر درخواستی یک فایل باشد، این شامل یک ورودی واحد با فراداده‌های فایل است. اگر alt=media مشخص شده باشد، این خالی است (محتوا از طریق `blob` ارائه می‌شود).

فراداده برای یک فایل یا دایرکتوری در یک محیط.

فیلدها

رشته ایجاد شده (اختیاری)

فقط خروجی. زمان ایجاد فایل/دایرکتوری.

رشته mime_type (اختیاری)

فقط خروجی. نوع MIME فایل (مثلاً "text/python"، "image/png"). برای دایرکتوری‌ها خالی است. NOLINT

رشته اصلاح‌شده (اختیاری)

فقط خروجی. زمان اصلاح فایل/دایرکتوری.

رشته نام (اختیاری)

فقط خروجی. نام فایل یا دایرکتوری (مثلاً "main.py" یا "src").

رشته مسیر (اختیاری)

فقط خروجی. مسیر نسبی کامل درون محیط (مثلاً "workspace/src/main.py").

رشته size_bytes (اختیاری)

فقط خروجی. اندازه فایل/دایرکتوری بر حسب بایت. NOLINT

نوع enum (رشته) (اختیاری)

فقط خروجی. نوع ورودی.

مقادیر ممکن:

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

محیط زیست را دریافت کنید

دریافت کنید https://generativelanguage.googleapis.com/v1beta/environments/{id}

محیطی را به دست می‌آورد.

پاسخ

در صورت موفقیت، بدنه پاسخ شامل داده‌هایی با ساختار زیر است:

رشته ایجاد شده (اختیاری)

فقط خروجی. زمانی که محیط با فرمت ISO 8601 (YYYY-MM-DDThh:mm:ssZ) ایجاد شده است.

رشته‌ی file_count (اختیاری)

فقط خروجی. تعداد فایل‌های موجود در محیط، فقط خروجی.

رشته شناسه (اختیاری)

الزامی. فقط خروجی. شناسه محیط.

رشته‌ی آخرین دسترسی (اختیاری)

فقط خروجی. زمان آخرین دسترسی به محیط در قالب ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

شبکه EnvironmentNetworkEgressAllowlist یا enum (رشته‌ای) (اختیاری)

پیکربندی شبکه برای محیط.

پیکربندی شبکه خروجی برای sandbox. یک شیء با آرایه 'allowlist' را برای محدود کردن ترافیک یا رشته 'disabled' را برای خاموش کردن تمام دسترسی به شبکه می‌پذیرد. برای مجاز کردن تمام ترافیک خروجی بدون تزریق هدر، این بخش را به طور کامل حذف کنید.

انواع ممکن

شیء

پیکربندی شبکه خروجی برای sandbox. در صورت مشخص شدن، دامنه‌های خارجی که sandbox می‌تواند به آنها دسترسی داشته باشد را محدود می‌کند. برای مجاز کردن تمام ترافیک خروجی بدون تزریق هدر، این مورد را به طور کامل حذف کنید.

آرایه allowlist (AllowlistEntry) (اختیاری)

فهرست دامنه‌های خروجی مجاز. فقط درخواست‌ها به دامنه‌های فهرست‌شده مجاز هستند. از [{'domain': '*'}] برای مجاز کردن همه دامنه‌ها استفاده کنید و در عین حال هدرها را روی دامنه‌های خاص تزریق کنید.

یک قانون لیست مجاز دامنه واحد با تزریق هدر اختیاری.

فیلدها

رشته دامنه (اختیاری)

دامنه‌ای که درخواست‌های خروجی به آن مجاز است. از کاراکترهای عمومی (مثلاً '*.googleapis.com') پشتیبانی می‌کند. از '*' برای مجاز کردن همه دامنه‌ها استفاده کنید.

تبدیل آرایه (شیء) یا شیء (اختیاری)

هدرهایی برای تزریق در تمام درخواست‌های خروجی مطابق با این دامنه. یک dict یا لیستی از dictها را می‌پذیرد. پروکسی خروجی این موارد را به طور خودکار تزریق می‌کند.

رشته

تمام شبکه‌ها را خاموش می‌کند.

مقادیر ممکن

  • disabled

    تمام شبکه‌ها را خاموش می‌کند.

رشته size_bytes (اختیاری)

فقط خروجی. اندازه کل فایل‌های محیط بر حسب بایت، فقط خروجی.

آرایه منابع (منبع) (اختیاری)

منابعی که باید در محیط نصب شوند.

منبعی که باید در محیط نصب شود.

فیلدها

رشته محتوا (اختیاری)

محتوای درون‌خطی اگر `type` باشد، `INLINE` است.

رشته کدگذاری (اختیاری)

کدگذاری اختیاری برای محتوای درون‌خطی (مثلاً `base64`).

رشته منبع (اختیاری)

منبع محیط. برای فضای ذخیره‌سازی ابری، این مسیر فضای ذخیره‌سازی ابری است. برای گیت‌هاب، این مسیر گیت‌هاب است.

رشته هدف (اختیاری)

جایی که منبع باید در محیط ظاهر شود.

نوع enum (رشته) (اختیاری)

هیچ توضیحی ارائه نشده است.

مقادیر ممکن:

  • gcs

    یک مخزن ذخیره‌سازی ابری.

  • inline

    محتوای درون خطی.

  • repository

    یک مخزن عمومی. پیشوند پروتکل در URL منبع، ارائه‌دهنده را مشخص می‌کند (مثلاً 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"
}

حذف محیط

https://generativelanguage.googleapis.com/v1beta/environments/{id} را حذف کنید

یک محیط را حذف می‌کند.

پاسخ

در صورت موفقیت، پاسخ خالی است.

حذف محیط

منابع

محیط زیست

یک محیط اجرا برای یک عامل.

فیلدها

رشته ایجاد شده (اختیاری)

فقط خروجی. زمانی که محیط با فرمت ISO 8601 (YYYY-MM-DDThh:mm:ssZ) ایجاد شده است.

رشته‌ی file_count (اختیاری)

فقط خروجی. تعداد فایل‌های موجود در محیط، فقط خروجی.

رشته شناسه (اختیاری)

الزامی. فقط خروجی. شناسه محیط.

رشته‌ی آخرین دسترسی (اختیاری)

فقط خروجی. زمان آخرین دسترسی به محیط در قالب ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

شبکه EnvironmentNetworkEgressAllowlist یا enum (رشته‌ای) (اختیاری)

پیکربندی شبکه برای محیط.

پیکربندی شبکه خروجی برای sandbox. یک شیء با آرایه 'allowlist' را برای محدود کردن ترافیک یا رشته 'disabled' را برای خاموش کردن تمام دسترسی به شبکه می‌پذیرد. برای مجاز کردن تمام ترافیک خروجی بدون تزریق هدر، این بخش را به طور کامل حذف کنید.

انواع ممکن

شیء

پیکربندی شبکه خروجی برای sandbox. در صورت مشخص شدن، دامنه‌های خارجی که sandbox می‌تواند به آنها دسترسی داشته باشد را محدود می‌کند. برای مجاز کردن تمام ترافیک خروجی بدون تزریق هدر، این مورد را به طور کامل حذف کنید.

آرایه allowlist (AllowlistEntry) (اختیاری)

فهرست دامنه‌های خروجی مجاز. فقط درخواست‌ها به دامنه‌های فهرست‌شده مجاز هستند. از [{'domain': '*'}] برای مجاز کردن همه دامنه‌ها استفاده کنید و در عین حال هدرها را روی دامنه‌های خاص تزریق کنید.

یک قانون لیست مجاز دامنه واحد با تزریق هدر اختیاری.

فیلدها

رشته دامنه (اختیاری)

دامنه‌ای که درخواست‌های خروجی به آن مجاز است. از کاراکترهای عمومی (مثلاً '*.googleapis.com') پشتیبانی می‌کند. از '*' برای مجاز کردن همه دامنه‌ها استفاده کنید.

تبدیل آرایه (شیء) یا شیء (اختیاری)

هدرهایی برای تزریق در تمام درخواست‌های خروجی مطابق با این دامنه. یک dict یا لیستی از dictها را می‌پذیرد. پروکسی خروجی این موارد را به طور خودکار تزریق می‌کند.

رشته

تمام شبکه‌ها را خاموش می‌کند.

مقادیر ممکن

  • disabled

    تمام شبکه‌ها را خاموش می‌کند.

رشته size_bytes (اختیاری)

فقط خروجی. اندازه کل فایل‌های محیط بر حسب بایت، فقط خروجی.

آرایه منابع (منبع) (اختیاری)

منابعی که باید در محیط نصب شوند.

منبعی که باید در محیط نصب شود.

فیلدها

رشته محتوا (اختیاری)

محتوای درون‌خطی اگر `type` باشد، `INLINE` است.

رشته کدگذاری (اختیاری)

کدگذاری اختیاری برای محتوای درون‌خطی (مثلاً `base64`).

رشته منبع (اختیاری)

منبع محیط. برای فضای ذخیره‌سازی ابری، این مسیر فضای ذخیره‌سازی ابری است. برای گیت‌هاب، این مسیر گیت‌هاب است.

رشته هدف (اختیاری)

جایی که منبع باید در محیط ظاهر شود.

نوع enum (رشته) (اختیاری)

هیچ توضیحی ارائه نشده است.

مقادیر ممکن:

  • gcs

    یک مخزن ذخیره‌سازی ابری.

  • inline

    محتوای درون خطی.

  • repository

    یک مخزن عمومی. پیشوند پروتکل در URL منبع، ارائه‌دهنده را مشخص می‌کند (مثلاً github://، gcs://).

شمارش وضعیت (رشته) (اختیاری)

فقط خروجی. وضعیت کانتینر محیط.

مقادیر ممکن:

  • active

    فقط خروجی. وضعیت کانتینر محیط.

  • expired

    فقط خروجی. وضعیت کانتینر محیط.

رشته به‌روزرسانی‌شده (اختیاری)

فقط خروجی. زمانی که محیط آخرین بار در قالب ISO 8601 (YYYY-MM-DDThh:mm:ssZ) به‌روزرسانی شده است.