https://github.com/yandex-cloud-examples/yc-serverless-apigw-hello-world-python
Пример интеграции API Gateway и Yandex Cloud Functions с использованием контекста операции.
https://github.com/yandex-cloud-examples/yc-serverless-apigw-hello-world-python
api-gateway python3 serverless yandex-cloud yandex-function yandexcloud
Last synced: 4 months ago
JSON representation
Пример интеграции API Gateway и Yandex Cloud Functions с использованием контекста операции.
- Host: GitHub
- URL: https://github.com/yandex-cloud-examples/yc-serverless-apigw-hello-world-python
- Owner: yandex-cloud-examples
- License: apache-2.0
- Created: 2024-03-13T19:56:32.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-06-11T11:06:16.000Z (12 months ago)
- Last Synced: 2025-06-11T12:23:40.530Z (12 months ago)
- Topics: api-gateway, python3, serverless, yandex-cloud, yandex-function, yandexcloud
- Language: Python
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 6
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Python Cloud Function Example
Пример интеграции API Gateway и Cloud Functions с использованием контеста операции.
Контекст операции - это параметр context расширения
[x-yc-apigateway-integration:cloud_functions](https://cloud.yandex.ru/docs/api-gateway/concepts/extensions/cloud-functions)
OpenAPI-спецификации. Значение данного параметра может иметь вложенную структуру, но ограничено размером в 2Kbyte.
Контекст операции позволяет параметризовать функцию-интеграцию для набора типовых операций OpenAPI-спецификации.
В примере API-гейтвей передает в функцию значение параметра пути запроса `/{name}` через поле
`requestContext.apiGateway.operationContext.name`
[контекста операции](https://cloud.yandex.ru/docs/functions/concepts/function-invoke#request)
## Запуск
1. Создайте облачную функции, в качестве среды выполнения выберите Python и вставьте код из [handler.py](handler.py)
2. Создайте API Gateway и вставьте спецификацию из [openapi-example.yaml](openapi-example.yaml),
подставив в неё идентификатор ранее созданной функции
Для тестирования откройте в браузере `https://<служебный домен созданного API-шлюза>/world`
## Запуск функции из терминала
python3 main.py []
## Тесты
python3 test.py