Gemini Environments API

توفّر البيئات سياقات تنفيذ منفصلة لتشغيل رموز الوكيل وأدواته وخدماته بأمان.

CreateEnvironment

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

تنشئ هذه الطريقة بيئة.

نص الطلب

يتضمن نص الطلب بيانات بالبنية التالية:

network EnvironmentNetworkEgressAllowlist أو enum (سلسلة)  (اختياري)

إعدادات الشبكة للبيئة

إعدادات الشبكة الصادرة لوضع الحماية يقبل عنصرًا يحتوي على مصفوفة "قائمة السماح" لحظر عدد الزيارات، أو السلسلة "disabled" لإيقاف جميع عمليات الوصول إلى الشبكة. يمكنك حذفها بالكامل للسماح بجميع حركات البيانات الصادرة بدون إدخال عناوين.

الأنواع المحتمَلة

object

إعدادات الشبكة الصادرة لوضع الحماية عند تحديدها، تحصر النطاقات الخارجية التي يمكن أن يصل إليها وضع الحماية. يمكنك حذفها بالكامل للسماح بجميع حركات البيانات الصادرة بدون إدخال عناوين.

allowlist array (AllowlistEntry)  (اختياري)

قائمة النطاقات الخارجية المسموح بها يُسمح فقط بالطلبات المُرسَلة إلى النطاقات المُدرَجة. استخدِم [{‎'domain': ‎'*‎'}] للسماح بجميع النطاقات مع إدخال العناوين في نطاقات محدّدة.

قاعدة قائمة مسموح بها بنطاق واحد مع إمكانية إدخال عنوان اختياري

الحقول

domain string  (اختياري)

النطاق الذي سيتم السماح بإرسال طلبات صادرة إليه. يمكن استخدام أحرف البدل (مثل '*.googleapis.com'). استخدِم "*" للسماح بجميع النطاقات.

transform مصفوفة (كائن) أو كائن  (اختياري)

العناوين التي سيتم إدراجها في جميع الطلبات الصادرة المطابقة لهذا النطاق يقبل قاموسًا واحدًا أو قائمة قواميس. يُدرِج وكيل الخروج هذه العناوين تلقائيًا.

string

يؤدي ذلك إلى إيقاف جميع الشبكات.

القيم المحتملة

  • disabled

    يؤدي ذلك إلى إيقاف جميع الشبكات.

sources array (Source)  (اختياري)

المصادر التي سيتم ربطها بالبيئة

مصدر سيتم تركيبه في البيئة

الحقول

content string  (اختياري)

المحتوى المضمّن إذا كان `type` هو `INLINE`

encoding string  (اختياري)

ترميز اختياري للمحتوى المضمّن (مثل `base64`).

source string  (اختياري)

مصدر البيئة بالنسبة إلى Cloud Storage، يكون هذا هو مسار Cloud Storage. بالنسبة إلى GitHub، هذا هو مسار GitHub.

target string  (اختياري)

المكان الذي يجب أن يظهر فيه المصدر في البيئة

type enum (string)  (اختياري)

لم يتم تقديم أي وصف.

القيم المحتملة:

  • gcs

    حزمة Cloud Storage

  • inline

    المحتوى المضمّن

  • repository

    مستودع عام تحدّد بادئة البروتوكول في عنوان URL المصدر مقدّم الخدمة (مثل github:// أو gcs://).

الردّ

إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:

created string  (اختياري)

النتائج فقط. الوقت الذي تم فيه إنشاء البيئة بتنسيق ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

file_count string  (اختياري)

النتائج فقط. عدد الملفات في البيئة، نتائج فقط.

id string  (اختياري)

الحقل مطلوب. النتائج فقط. رقم تعريف البيئة.

last_accessed string  (اختيارية)

النتائج فقط. تمثّل هذه السمة الوقت الذي تم فيه الوصول إلى البيئة آخر مرة بتنسيق ISO 8601 ‏(YYYY-MM-DDThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist أو enum (سلسلة)  (اختياري)

إعدادات الشبكة للبيئة

إعدادات الشبكة الصادرة لوضع الحماية يقبل عنصرًا يحتوي على مصفوفة "قائمة السماح" لحظر عدد الزيارات، أو السلسلة "disabled" لإيقاف جميع عمليات الوصول إلى الشبكة. يمكنك حذفها بالكامل للسماح بجميع حركات البيانات الصادرة بدون إدخال عناوين.

الأنواع المحتمَلة

object

إعدادات الشبكة الصادرة لوضع الحماية عند تحديدها، تحصر النطاقات الخارجية التي يمكن أن يصل إليها وضع الحماية. يمكنك حذفها بالكامل للسماح بجميع حركات البيانات الصادرة بدون إدخال عناوين.

allowlist array (AllowlistEntry)  (اختياري)

قائمة النطاقات الخارجية المسموح بها يُسمح فقط بالطلبات المُرسَلة إلى النطاقات المُدرَجة. استخدِم [{‎'domain': ‎'*‎'}] للسماح بجميع النطاقات مع إدخال العناوين في نطاقات محدّدة.

قاعدة قائمة مسموح بها بنطاق واحد مع إمكانية إدخال عنوان اختياري

الحقول

domain string  (اختياري)

النطاق الذي سيتم السماح بإرسال طلبات صادرة إليه. يمكن استخدام أحرف البدل (مثل '*.googleapis.com'). استخدِم "*" للسماح بجميع النطاقات.

transform مصفوفة (كائن) أو كائن  (اختياري)

العناوين التي سيتم إدراجها في جميع الطلبات الصادرة المطابقة لهذا النطاق يقبل قاموسًا واحدًا أو قائمة قواميس. يُدرِج وكيل الخروج هذه العناوين تلقائيًا.

string

يؤدي ذلك إلى إيقاف جميع الشبكات.

القيم المحتملة

  • disabled

    يؤدي ذلك إلى إيقاف جميع الشبكات.

size_bytes string  (اختيارية)

النتائج فقط. الحجم الإجمالي لملفات البيئة بالبايت، ويتم عرض هذا الحقل فقط.

المصادر مصفوفة (المصدر)  (اختيارية)

المصادر التي سيتم ربطها بالبيئة

مصدر سيتم تركيبه في البيئة

الحقول

content string  (اختياري)

المحتوى المضمّن إذا كان `type` هو `INLINE`

encoding string  (اختياري)

ترميز اختياري للمحتوى المضمّن (مثل `base64`).

source string  (اختياري)

مصدر البيئة بالنسبة إلى Cloud Storage، يكون هذا هو مسار Cloud Storage. بالنسبة إلى GitHub، هذا هو مسار GitHub.

target string  (اختياري)

المكان الذي يجب أن يظهر فيه المصدر في البيئة

type enum (string)  (اختياري)

لم يتم تقديم أي وصف.

القيم المحتملة:

  • gcs

    حزمة Cloud Storage

  • inline

    المحتوى المضمّن

  • repository

    مستودع عام تحدّد بادئة البروتوكول في عنوان URL المصدر مقدّم الخدمة (مثل github:// أو gcs://).

status enum (string)  (اختياري)

النتائج فقط. حالة حاوية البيئة.

القيم المحتملة:

  • 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 integer  (اختيارية)

اختياريّ. الحد الأقصى لعدد البيئات المطلوب عرضها. إذا لم يتم تحديد قيمة، يتم ضبط القيمة التلقائية على 50. الحد الأقصى هو 1,000.

page_token string  (اختياري)

اختياريّ. الرمز المميز لتقسيم الصفحات

الردّ

إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:

environments مصفوفة (Environment)  (اختيارية)

البيئات التابعة للمشروع المقدَّم

next_page_token string  (اختياري)

الرمز المميز لتقسيم الصفحات

سرد البيئات

مثال على الردّ

{
  "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 integer  (اختيارية)

اختياريّ. الحدّ الأقصى لعدد الإدخالات التي سيتم عرضها في كل صفحة (في قائمة الدليل).

page_token string  (اختياري)

اختياريّ. الرمز المميّز لتقسيم الصفحات في قائمة الدليل

recursive boolean  (اختياري)

اختياريّ. إذا كانت القيمة true وكان المسار عبارة عن دليل، يتم إدراج جميع الملفات بشكل متكرر.

الردّ

إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:

الملفات مصفوفة (EnvironmentFile)  (اختيارية)

إذا كان المسار المطلوب هو دليل، يحتوي هذا الحقل على محتواه. إذا كان المسار المطلوب هو ملف، يحتوي هذا الحقل على إدخال واحد يتضمّن البيانات الوصفية للملف. إذا تم تحديد alt=media، يكون هذا الحقل فارغًا (يتم عرض المحتوى من خلال `blob`).

البيانات الوصفية لملف أو دليل ضمن بيئة

الحقول

created string  (اختياري)

النتائج فقط. وقت إنشاء الملف أو الدليل

mime_type string  (اختيارية)

النتائج فقط. نوع MIME للملف (مثل "text/python" أو "image/png") يكون هذا الحقل فارغًا بالنسبة إلى الأدلة. NOLINT

modified string  (اختياري)

النتائج فقط. وقت تعديل الملف أو الدليل

name string  (اختياري)

النتائج فقط. اسم الملف أو الدليل (مثل "main.py" أو "src")

path string  (اختياري)

النتائج فقط. المسار النسبي الكامل داخل البيئة (على سبيل المثال، "workspace/src/main.py").

size_bytes string  (اختيارية)

النتائج فقط. حجم الملف أو الدليل بالبايت NOLINT

type enum (string)  (اختياري)

النتائج فقط. تمثّل هذه السمة نوع الإدخال.

القيم المحتملة:

  • file

    ملف عادي

  • directory

    دليل

next_page_token string  (اختياري)

الرمز المميّز لتقسيم الصفحات في قائمة الدليل 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"
    }
  ]
}

Get File Metadata

مثال على الردّ

{
  "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  (اختياري)

النتائج فقط. عدد الملفات في البيئة، نتائج فقط.

id string  (اختياري)

الحقل مطلوب. النتائج فقط. رقم تعريف البيئة.

last_accessed string  (اختيارية)

النتائج فقط. تمثّل هذه السمة الوقت الذي تم فيه الوصول إلى البيئة آخر مرة بتنسيق ISO 8601 ‏(YYYY-MM-DDThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist أو enum (سلسلة)  (اختياري)

إعدادات الشبكة للبيئة

إعدادات الشبكة الصادرة لوضع الحماية يقبل عنصرًا يحتوي على مصفوفة "قائمة السماح" لحظر عدد الزيارات، أو السلسلة "disabled" لإيقاف جميع عمليات الوصول إلى الشبكة. يمكنك حذفها بالكامل للسماح بجميع حركات البيانات الصادرة بدون إدخال عناوين.

الأنواع المحتمَلة

object

إعدادات الشبكة الصادرة لوضع الحماية عند تحديدها، تحصر النطاقات الخارجية التي يمكن أن يصل إليها وضع الحماية. يمكنك حذفها بالكامل للسماح بجميع حركات البيانات الصادرة بدون إدخال عناوين.

allowlist array (AllowlistEntry)  (اختياري)

قائمة النطاقات الخارجية المسموح بها يُسمح فقط بالطلبات المُرسَلة إلى النطاقات المُدرَجة. استخدِم [{‎'domain': ‎'*‎'}] للسماح بجميع النطاقات مع إدخال العناوين في نطاقات محدّدة.

قاعدة قائمة مسموح بها بنطاق واحد مع إمكانية إدخال عنوان اختياري

الحقول

domain string  (اختياري)

النطاق الذي سيتم السماح بإرسال طلبات صادرة إليه. يمكن استخدام أحرف البدل (مثل '*.googleapis.com'). استخدِم "*" للسماح بجميع النطاقات.

transform مصفوفة (كائن) أو كائن  (اختياري)

العناوين التي سيتم إدراجها في جميع الطلبات الصادرة المطابقة لهذا النطاق يقبل قاموسًا واحدًا أو قائمة قواميس. يُدرِج وكيل الخروج هذه العناوين تلقائيًا.

string

يؤدي ذلك إلى إيقاف جميع الشبكات.

القيم المحتملة

  • disabled

    يؤدي ذلك إلى إيقاف جميع الشبكات.

size_bytes string  (اختيارية)

النتائج فقط. الحجم الإجمالي لملفات البيئة بالبايت، ويتم عرض هذا الحقل فقط.

المصادر مصفوفة (المصدر)  (اختيارية)

المصادر التي سيتم ربطها بالبيئة

مصدر سيتم تركيبه في البيئة

الحقول

content string  (اختياري)

المحتوى المضمّن إذا كان `type` هو `INLINE`

encoding string  (اختياري)

ترميز اختياري للمحتوى المضمّن (مثل `base64`).

source string  (اختياري)

مصدر البيئة بالنسبة إلى Cloud Storage، يكون هذا هو مسار Cloud Storage. بالنسبة إلى GitHub، هذا هو مسار GitHub.

target string  (اختياري)

المكان الذي يجب أن يظهر فيه المصدر في البيئة

type enum (string)  (اختياري)

لم يتم تقديم أي وصف.

القيم المحتملة:

  • gcs

    حزمة Cloud Storage

  • inline

    المحتوى المضمّن

  • repository

    مستودع عام تحدّد بادئة البروتوكول في عنوان URL المصدر مقدّم الخدمة (مثل github:// أو gcs://).

status enum (string)  (اختياري)

النتائج فقط. حالة حاوية البيئة.

القيم المحتملة:

  • 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  (اختياري)

النتائج فقط. عدد الملفات في البيئة، نتائج فقط.

id string  (اختياري)

الحقل مطلوب. النتائج فقط. رقم تعريف البيئة.

last_accessed string  (اختيارية)

النتائج فقط. تمثّل هذه السمة الوقت الذي تم فيه الوصول إلى البيئة آخر مرة بتنسيق ISO 8601 ‏(YYYY-MM-DDThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist أو enum (سلسلة)  (اختياري)

إعدادات الشبكة للبيئة

إعدادات الشبكة الصادرة لوضع الحماية يقبل عنصرًا يحتوي على مصفوفة "قائمة السماح" لحظر عدد الزيارات، أو السلسلة "disabled" لإيقاف جميع عمليات الوصول إلى الشبكة. يمكنك حذفها بالكامل للسماح بجميع حركات البيانات الصادرة بدون إدخال عناوين.

الأنواع المحتمَلة

object

إعدادات الشبكة الصادرة لوضع الحماية عند تحديدها، تحصر النطاقات الخارجية التي يمكن أن يصل إليها وضع الحماية. يمكنك حذفها بالكامل للسماح بجميع حركات البيانات الصادرة بدون إدخال عناوين.

allowlist array (AllowlistEntry)  (اختياري)

قائمة النطاقات الخارجية المسموح بها يُسمح فقط بالطلبات المُرسَلة إلى النطاقات المُدرَجة. استخدِم [{‎'domain': ‎'*‎'}] للسماح بجميع النطاقات مع إدخال العناوين في نطاقات محدّدة.

قاعدة قائمة مسموح بها بنطاق واحد مع إمكانية إدخال عنوان اختياري

الحقول

domain string  (اختياري)

النطاق الذي سيتم السماح بإرسال طلبات صادرة إليه. يمكن استخدام أحرف البدل (مثل '*.googleapis.com'). استخدِم "*" للسماح بجميع النطاقات.

transform مصفوفة (كائن) أو كائن  (اختياري)

العناوين التي سيتم إدراجها في جميع الطلبات الصادرة المطابقة لهذا النطاق يقبل قاموسًا واحدًا أو قائمة قواميس. يُدرِج وكيل الخروج هذه العناوين تلقائيًا.

string

يؤدي ذلك إلى إيقاف جميع الشبكات.

القيم المحتملة

  • disabled

    يؤدي ذلك إلى إيقاف جميع الشبكات.

size_bytes string  (اختيارية)

النتائج فقط. الحجم الإجمالي لملفات البيئة بالبايت، ويتم عرض هذا الحقل فقط.

المصادر مصفوفة (المصدر)  (اختيارية)

المصادر التي سيتم ربطها بالبيئة

مصدر سيتم تركيبه في البيئة

الحقول

content string  (اختياري)

المحتوى المضمّن إذا كان `type` هو `INLINE`

encoding string  (اختياري)

ترميز اختياري للمحتوى المضمّن (مثل `base64`).

source string  (اختياري)

مصدر البيئة بالنسبة إلى Cloud Storage، يكون هذا هو مسار Cloud Storage. بالنسبة إلى GitHub، هذا هو مسار GitHub.

target string  (اختياري)

المكان الذي يجب أن يظهر فيه المصدر في البيئة

type enum (string)  (اختياري)

لم يتم تقديم أي وصف.

القيم المحتملة:

  • gcs

    حزمة Cloud Storage

  • inline

    المحتوى المضمّن

  • repository

    مستودع عام تحدّد بادئة البروتوكول في عنوان URL المصدر مقدّم الخدمة (مثل github:// أو gcs://).

status enum (string)  (اختياري)

النتائج فقط. حالة حاوية البيئة.

القيم المحتملة:

  • active

    النتائج فقط. حالة حاوية البيئة.

  • expired

    النتائج فقط. حالة حاوية البيئة.

updated string  (اختياري)

النتائج فقط. تمثّل هذه السمة الوقت الذي تم فيه آخر تعديل على البيئة بتنسيق ISO 8601‏ (YYYY-MM-DDThh:mm:ssZ).