Inquir Compute
API-Gateway

Serverless API-шлюз

Публичные HTTP API и webhooks на serverless-функциях — авторизация на маршрут, параметры пути, CORS, лимиты и маршрутизация без отдельного ingress-слоя.

Без отдельного ingress-слоя: HTTPS-маршруты сразу ведут к функциям, политики задаются на каждый путь, запуск на /gw/{workspace}/{path} — без отдельного деплоя шлюза и смены DNS.

  • Для API — методы и пути, отдельная политика доступа (без auth, API key или Bearer), CORS и параметры вроде /users/:id в обработчике.
  • Для вебхуков — стабильные публичные URL в рабочем пространстве, контролируемый вход и тот же сценарий вызова функций, что и у остального HTTP.
  • Для инструментов агентов — отдельный HTTPS-маршрут на инструмент или действие, те же деплой, секреты и наблюдаемость, что у других хендлеров за шлюзом.

Дальше по теме

Как работает serverless-маршрутизация API

1

Создайте маршрут

Любой метод и путь ведут к выбранной функции. Есть wildcards и параметры пути вроде /users/:id.

2

Настройте доступ

Без авторизации, API key или Bearer — отдельно для каждого маршрута.

3

Готово к вызовам

Маршрут сразу доступен по /gw/{workspace}/{path}. Отдельный деплой шлюза и смена DNS не нужны.

Возможности шлюза для API и вебхуков

Параметры в пути

/users/:id → event.pathParameters.id. Поддерживаются шаблоны вроде /admin/*.

Ограничение частоты

Лимит запросов в минуту на маршрут — проще защититься от злоупотреблений.

CORS

Разрешённые источники и заголовки задаются на маршрут.

Любой HTTP-метод

GET, POST, PUT, DELETE по отдельности или один маршрут ANY на все методы.

Пример route.json и обработчика функции

route.json
// Route configuration
{
  "method": "GET",
  "path": "/users/:id",
  "functionId": "get-user",
  "auth": "api-key",
  "rateLimit": 100,
  "cors": {
    "allowedOrigins": ["https://myapp.com"]
  }
}
get-user/index.js
export async function handler(event, context) {
  const id = event.pathParameters?.id;
  if (!id) {
    return { statusCode: 400, body: JSON.stringify({ error: 'missing id' }) };
  }
  const user = await db.users.findById(id);

  return {
    statusCode: 200,
    body: JSON.stringify(user),
  };
}

Начать бесплатно

Задеплойте первую функцию за несколько минут. Карта не нужна.

Inquir Compute

Самый простой способ запускать AI-агентов и backend-джобы без инфраструктуры.

Связаться info@inquir.org

© 2025 Inquir Compute. Все права защищены.