GraphQL Playground (далее Панель) позволяет совершать запросы, получать ответы от GraphQL-сервера и просматривать автоматически сгенерированную документацию API.
Для входа в Панель вам нужно:
1. Авторизоваться в console.ps.kz;
2. Ввести в браузерной строке: https://console.ps.kz/ НАЗВАНИЕ СЕРВИСА /graphql,
где НАЗВАНИЕ СЕРВИСА:
В разделе DOCS описаны эндпоинты, типизация переменных и структура запросов.
Для просмотра документации:
В левой части Панели можно протестировать запросы и мутации на GraphQL. Начните с ключевого слова (query или mutation), затем укажите название запроса, его поля и аргументы.
query {
vpc {
instance {
pagination(perPage: 1000, filter: { serviceId: "13745", status: ACTIVE }) {
items {
instanceName
floatingipsArray
ram
cores
}
}
}
}
}
где
query - определение запроса к серверу GraphQL на чтение данных;
vpc - узел запроса к сервису «Облачные серверы»;
instance - подузел запроса к списку экземпляров (instances), используемых в вашем проекте;
pagination - метод отражения результатов запроса (например, отражение на странице не более 1000 элементов);
filter - аргумент фильтрации результатов (например, фильтрация экземпляров по идентификатору проекта и статусу экземпляра);
serviceId - значение фильтрации экземпляров по идентификатору проекта (пятизначный идентификатор указан в Консоли, справа от названия проекта);
status - значение фильтрации экземпляров по текущему статусу (например, только активные);
items - поля, запрашиваемые у каждого экземпляра:
Чтобы выполнить запрос, нажмите кнопку Play или используйте комбинацию клавиш Ctrl + Enter на Windows / Linux или Cmd + Enter на Mac.
Результаты запроса будут отображены справа.
Рисунок 1. Интерфейс GraphQL Playground с примером Query-запроса
mutation {
vpc {
instance {
resizeInstance(
input: {
flavorId: "1517fe16-592c-4938-9bb6-d5ec5593041a"
serviceId: "13745"
instanceId: "aeaeda28-6ae3-4895-9120-5f46af358cc0"
regionId: "kz-ala-1"
}
) {
instance {
instanceName
flavor {
ram
vcpus
}
regionId
}
}
}
}
}
где
mutation - определение запроса к серверу GraphQL на изменение данных;
vpc - узел запроса к сервису «Облачные серверы»;
instance - подузел запроса к списку экземпляров (instances), используемых в вашем проекте;
resizeInstance - операция изменения конфигурации экземпляра;
input - определение экземпляра для изменения его конфигурации:
Ниже указываем, какие данные нам нужно получить для подтверждения изменения конфигурации:
Рисунок 2. Интерфейс GraphQL Playground с примером Mutation-запроса