Inquir Compute
Разделы

Рантаймы

Сравните Node.js 22, Python 3.12 и Go 1.22: у каждого свой runtime id, Docker image, соглашение по handler и один и тот же invocation protocol после деплоя бандла.

Из коробки поддерживается три рантайма. Выберите рантайм при создании функции — платформа автоматически выберет нужный Docker-образ и настроит протокол вызова.

РантаймRuntime IDHandler convention
Node.js 22nodejs22exports.handler = async (event, context) => …
Python 3.12python312def handler(event, context): … (синхронно или async)
Go 1.22go122func Handler(event, ctx map[string]interface{}) (interface{}, error)

Node.js 22

index.js
// Gateway HTTP: POST JSON is in event.body (string). Editor Run: the JSON you type is the whole event root.
const payload = typeof event.body === 'string' ? JSON.parse(event.body || '{}') : (event || {});

exports.handler = async (event, context) => {
  // Example: const { name } = payload;
  return {
    statusCode: 200,
    body: JSON.stringify({ message: "Hello from Inquir Compute!" }),
  };
};

Python 3.12

handler.py
import json

def handler(event, context):
    raw = event.get("body")
    payload = json.loads(raw) if isinstance(raw, str) else (event if isinstance(event, dict) else {})
    # Example: name = payload.get("name")
    return {
        "statusCode": 200,
        "body": json.dumps({"message": "Hello from Inquir Compute!"}),
    }

Go 1.22

main.go
package main

import "encoding/json"

func parsePayload(event map[string]interface{}) map[string]interface{} {
	if s, ok := event["body"].(string); ok && s != "" {
		var out map[string]interface{}
		if err := json.Unmarshal([]byte(s), &out); err != nil || out == nil {
			return map[string]interface{}{}
		}
		return out
	}
	return event
}

func Handler(event map[string]interface{}, ctx map[string]interface{}) (interface{}, error) {
	_ = parsePayload(event)
	body, _ := json.Marshal(map[string]interface{}{
		"message": "Hello from Inquir Compute!",
	})
	return map[string]interface{}{
		"statusCode": 200,
		"body":       string(body),
	}, nil
}

Все три рантайма поддерживают горячие лямбды, слои, переменные окружения и SDK наблюдаемости.