Основные принципы
API Yandex Cloud спроектированы на основе механизма gRPC
Сервисы Yandex Cloud предоставляют JSON REST интерфейс, к которому можно обращаться напрямую. Поддержка REST осуществляется посредством механизма gRPC-JSON transcoder
Ресурсо-ориентированный подход
Для большинства сервисов Yandex Cloud в API используется ресурсо-ориентированный подход. Принципы такого подхода:
-
В качестве ресурсов в API выступают виртуальные машины, диски, образы и т. д. Каждый ресурс имеет уникальный идентификатор.
-
Для управления ресурсами в API определены два набора методов:
- Стандартные методы API позволяют выполнять CRUD-операции: создавать, получать, изменять и удалять ресурсы. Стандартные методы имеют одинаковую сигнатуру и работают одинаково для всех API, где они используются.
- Дополнительные методы API расширяют функциональность стандартных методов. С их помощью можно выполнить такие операции, как подключить диск, перезапустить виртуальную машину и др. Сигнатура дополнительных методов отличается от сигнатуры стандартных методов.
-
Все операции, изменяющие состояние ресурса, имеют асинхронную сигнатуру. При вызове таких операций сервер возвращает объект Operation. Этот объект будет содержать состояние операции, а также идентификатор ресурса, над которым производится операция.
-
Операции на создание, изменение и удаление ресурсов поддерживают механизм идемпотентности.
Исключения для ресурсо-ориентированного подхода
- API Yandex Object Storage. Его архитектура обеспечивает совместимость с Amazon S3 API, поэтому принципы API Object Storage не всегда совпадают с принципами ресурсо-ориентированного подхода. Подробнее читайте в документации к сервису.
- API сервисов искусственного интеллекта YandexGPT API, Yandex SpeechKit, Yandex Translate и Yandex Vision OCR. Их API не оперирует ресурсами Yandex Cloud, запросы не идемпотентны.