Песочницы по запросу
Песочница — это полностью изолированный арендатор Tango Vision: собственная база данных PostgreSQL, наполненный граф здания и выделенный стек tv-api — на собственном поддомене. Вы разрабатываете в ней вместо продакшена.
Зачем
- Изоляция. Данные вашей песочницы физически отделены от любого другого арендатора.
- Реалистичность. Она наполнена параметризованным зданием (торговый центр или офис) с помещениями, элементами и телеметрией — чтобы ваш модуль отрисовывался на данных реальной формы.
- Одноразовость. Сбросьте её, когда навели беспорядок; она истекает автоматически.
Создание — из панели управления
В консоли платформы есть страница Sandboxes (в админ-навигации). Вставьте ваш API-ключ, затем New sandbox:
| Поле | Значение |
|---|---|
| Name | Отображаемое имя; поддомен выводится из него |
| Building type | mall или office |
| Storeys | 1–50 |
| Area (m²) | Общая площадь |
| TTL (days) | 1–30; автоочистка после |
Примерно за 30 секунд строка переходит в ready с URL вида:
https://acme-cafm-dev-x7k2.sandbox.k8s.tangovision.devСоздание — через API
bash
curl -X POST https://sandbox-api.k8s.tangovision.dev/api/v1/sandboxes \
-H "Authorization: Bearer $SANDBOX_API_KEY" \
-H "content-type: application/json" \
-d '{
"name": "acme-cafm-dev",
"buildingType": "mall",
"storeys": 3,
"areaSqm": 20000,
"ttlDays": 14
}'Ответ:
json
{
"sandboxId": "sbx_...",
"name": "acme-cafm-dev",
"slug": "acme-cafm-dev-x7k2",
"status": "ready",
"apiUrl": "https://acme-cafm-dev-x7k2.sandbox.k8s.tangovision.dev",
"expiresAt": "2026-06-13T...",
"extensionsRemaining": 2
}Жизненный цикл
| Действие | Эндпоинт |
|---|---|
| Список | GET /api/v1/sandboxes |
| Создать | POST /api/v1/sandboxes |
| Продлить TTL | POST /api/v1/sandboxes/:id/extend (тело { "days": 7 }) |
| Сбросить (очистить + пересоздать) | POST /api/v1/sandboxes/:id/reset |
| Удалить | DELETE /api/v1/sandboxes/:id |
Квоты
Чтобы общий кластер оставался здоровым:
- 3 одновременно активные песочницы на одного внешнего разработчика
- 2 продления TTL на песочницу
- 30 дней — максимальный TTL
Они обеспечиваются провижионером; при достижении лимита вы получите понятный 429/400.
Что внутри свежей песочницы
- Организация + площадка + здание, наполненные через
@tv/sandbox-seed - Этажи, помещения, элементы и точки, размер которых задан вашими параметрами
- До 30 дней дозаполненной телеметрии (настраивается через
seedTelemetryDays) - Стандартная схема tv-api, так что работают все эндпоинты платформы
Направьте PlatformContext вашего модуля на apiUrl песочницы и разрабатывайте так, как будто это продакшен — потому что структурно это он и есть.