Serverless
Все это можно настраивать через AWS CLI, YC CLI/Console, или через Terraform.
Yandex Cloud Functions (CF)
API Gateway
Serverless YDB
Yandex Message Queue
Cloud Functions (CF)
Function-As-A-Service
Usage
Создать CF:
$ yc serverless function create --name my-first-function
done (1s)
id: d4eor1nq6c7natelf0dl
...
http_invoke_url: https://functions.yandexcloud.net/d4eor1nq6c7natelf0dl
...
Загрузить код функции в облако и создать ее версию:
$ yc serverless function version create \
--function-name my-first-function \
--memory 256m \
--execution-timeout 5s \
--runtime python37 \
--entrypoint main.handler \
--service-account-id $SERVICE_ACCOUNT_ID \
--source-path main.py
Вызов функции:
$ yc serverless function list
$ yc serverless function version list --function-name my-first-function
$ yc serverless function invoke <идентификатор_функции>
Сделать функцию публичной:
$ yc serverless function allow-unauthenticated-invoke my-first-function
Получить публичную ссылку на функцию
$ yc serverless function get my-first-function
Нюансы
Каждая функция должна соответствовать модели программирования.
Триггеры
Можно вызывать функцию при наступлении какого-то события. Причем и при наступлении событий в других сервисах. Примерно это выглядит так:

API Gateway
Прокси сервер

Serverless YDB
Отличие от обычной YDB, что здесь поддерживается Document API (совместимое с AWS Dinamo DB)
В общем, есть AWS SDK для работы с Document API, и обычное SDK для работы с YDB.
Yandex Message Queue (YMQ)
Примерно это так выглядит

YMQ поддерживает AWS API и другие подходы, которые используют в сервисе Amazon SQS, поэтому для работы с ними вы можете использовать уже существующие инструменты, например библиотеки boto3 для Python.
Last updated
Was this helpful?